行列(y行、x列)にスペースを割り当てるメソッドdim(x、y)を実装したいと思います。
オプションの関数「filler」を渡すことで「dim(x、y)」をより強力にしたいのですが、「dim」は(x、y)にある要素をfiller(x、y)に設定します
私のコードは次のようになります:
List2D dim := method(x, y, z,
target := list()
filler := if(z == nil,
method(return nil),
z)
for(i, 1, y,
subTarget := list()
for(j, 1, x,
subTarget append( filler(i,j) ))
target append(subTarget) )
return target)
'dim'が2つの引数で呼び出された場合はうまく機能しましたが、
List2D dim(3,2, method(x,y, 10*x+y))
行で例外をスローしました例外はfiller := if(z == nil
言ったnil does not respond to '*'
nilと比較すると、引数「z」が望ましくない形でアクティブになっていることに気付きました。
だから私は私の「List2Ddim」を正しく動作させる方法を考えていますか?