CoffeeScriptと2次元配列で何かが足りないような気がします。私は単にスペースのグリッドを作成しようとしています(チェッカーを考えてください)。array.map関数を使用して検索と検出を行った後、次のことを思いつきました。
@spaces = [0...20].map (x)->
[0...20].map (y) ->
new Elements.Space()
そして、これはうまく機能しているようです。それぞれにSpaceオブジェクトが作成された素晴らしい2次元配列があります。しかし、ここで、作成したスペースコンストラクターにx、yの場所を送信します。私は2層の深さなのでx
、のマップ関数に入ったときに変数を失いましたy
。
理想的には、次のようなことをしたいと思います。
@spaces = [0...20].map (x)->
[0...20].map (y) ->
new Elements.Space(x, y)
または私にとってより自然に感じる何か:
for row in rows
for column in row
@spaces[row][column] = new Elements.Space(row, column)
私はこれを行うためのより良い方法を本当に受け入れています。標準のJavaScriptでそれを行う方法は知っていますが、CoffeeScriptでそれを行う方法を本当に学びたいと思っています。