Matrix Squeak:创建具有指定行和列的矩阵

Matrix Squeak:创建具有指定行和列的矩阵,matrix,smalltalk,squeak,Matrix,Smalltalk,Squeak,我只是想在Squeak(Smalltalk)中做一个赋值,但我不知道如何创建具有特定行数和列数的矩阵 我知道可以创建一个3x3矩阵,比如a:=matrix new:3.,但我需要一个3x2矩阵。系统浏览器对我理解如何做到这一点没有多大帮助,而且我已经在互联网上搜索了一段时间,没有找到多少有用的东西。有谁能给出一行代码示例,说明如何创建3x2矩阵之类的东西吗?我现在有了解决方案,供任何想知道如何实现这一点的人使用。它是 var:=矩阵行:A列:B。创建矩阵(A x B),其中A和B是整数。您应该了

我只是想在Squeak(Smalltalk)中做一个赋值,但我不知道如何创建具有特定行数和列数的矩阵


我知道可以创建一个3x3矩阵,比如
a:=matrix new:3.
,但我需要一个3x2矩阵。系统浏览器对我理解如何做到这一点没有多大帮助,而且我已经在互联网上搜索了一段时间,没有找到多少有用的东西。有谁能给出一行代码示例,说明如何创建3x2矩阵之类的东西吗?

我现在有了解决方案,供任何想知道如何实现这一点的人使用。它是
var:=矩阵行:A列:B。
创建矩阵(A x B),其中A和B是整数。

您应该了解Smalltalk如何处理构造函数-始终检查类

如果您检查
矩阵类
,您将发现
#new:
在内部使用
^self rows:dimension columns:dimension
。这意味着您的:

aMatrix:=矩阵新:3

事实上

aMatrix:=矩阵行:3列:3
,这恰好是您要搜索的内容

在我看来,
#new:
消息不是一个好选择。我想要一个
#squareSize:
或类似的东西

注意:不要用大写字母表示变量(根据您的
A:=
assignment进行注释)

编辑:为什么不使用大写字母作为局部/实例变量

开头的大写字母是为全局变量保留的。例如,类名也是全局的,这就是为什么你有
矩阵
,而没有
矩阵
。例如类实例,您将previx与
a
an
一起使用,就像我使用的
aMatrix
是类
Matrix
的实例一样


不同的Smalltalk口味之间可能存在细微差异。例如,在Smalltalk/X中,类变量以大写字母开头,据我所知,GNU Smalltalk中的情况并非如此。

感谢您的回答,非常有用!关于变量的大写字母,我必须,这是作业的一部分,我必须有特定的变量名。但你为什么说我不应该用大写字母来表示变量呢?@Bionic_Beadle,不客气:)。我做了一个编辑来回答你在评论中的问题。请下次尝试创建一个单独的问题,因为当有人搜索它时更容易找到。