在java中,或者C#可以使用两个嵌套的for循环填充2d数组,但在smalltalk中,我似乎无法找到相同的方法。 谁能帮助我?
答案 0 :(得分:5)
您可以使用Matrix
并将其创建为:
| random |
random := Random new.
^ Matrix
rows: rowNumber
columns: columnNumber
tabulate: [ :i :j | random next ]
其中i和j是元素的索引(我在示例中没有使用)
如果你真的想用2D阵列做点什么我建议你做这样的事情:
| random |
random := Random new.
^ (1 to: rowNumber) collect: [ :i |
(1 to: columnNumber) collect: [ :j |
random next ]
您还可以在创建后遍历矩阵:
| random matrix |
random := Random new.
matrix := Matrix rows: rowNumber columns: columnNumber.
martix indicesCollect: [ :i :j | random next ].
^ matrix