gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 09:08:26 25 4
gpt4 key购买 nike

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

我知道可以使用类似 A := Matrix new:3. 的内容创建 3x3 矩阵,但我需要类似 3x2 矩阵的内容。系统浏览器对我理解如何执行此操作没有太大帮助,我已经在互联网上搜索了一段时间,但没有找到任何有帮助的东西。谁能给出一个示例代码行来说明如何创建 3x2 矩阵之类的东西?

最佳答案

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

如果你检查Matrix类,你会发现#new:内部使用^ self rows:dimension columns:dimension。这意味着您的:

aMatrix := 矩阵新:3

确实如此

aMatrix := Matrix rows: 3 columns: 3,这恰好是您正在搜索的内容。

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

注意:变量不要使用大写(根据您的 A := 分配进行评论)

编辑:为什么本地/实例变量不使用大写字母?

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

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

关于matrix - Squeak:创建具有指定行和列的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55877661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com