问题标签 [gnu-smalltalk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
102 浏览

smalltalk - 如何在smalltalk中从self中删除HandleMorph的attachMorph

我需要您的帮助,我正在使用此代码从特定位置到鼠标位置创建一条线。单击后,我试图删除此行,但我不知道如何在单击后帮助我删除直播,我应该更改什么?

“鼠标点击后删除棒,此操作无效,请帮助”

“”

0 投票
1 回答
406 浏览

smalltalk - Smalltalk 中未声明的变量在哪里?

例子:

我一直觉得他们在 进入 SystemDictionary Smalltalk,但事实并非如此:

然而,至少在 GNU Smalltalk 上,这些值似乎被保留在某个地方——访问fnord返回正确的值:

更新:我想出了如何拆卸块!这真的很难。

所以它肯定认为它正在写入一个全局变量。

0 投票
1 回答
518 浏览

command-line - 从命令行获取参数数量(smalltalk)

您好,我是 smalltalk 的新手,想知道如何获取通过命令行传递的参数数量。对不起,这是一个如此基本的问题。

0 投票
3 回答
186 浏览

smalltalk - 在 Smalltalk 中,如果 x 是一个数组,并且 x at: 3 put: 123 将起作用,那么 (x at: 3) + 1 如何起作用?

也就是说,如果我们将其视为所有对象和消息,那么

只有当x at: 3像“单元格”对象一样返回时才能工作,因此单元格可以接受一个I​​nterger对象,即123。(或者,这样单元格对象可以让某些myContent属性指向123对象)

那么在这种情况下,怎么能

工作?因为细胞如何处理+信息?是否单元格对象以某种方式认为它不知道如何处理+消息,所以它查看其内容(可能通过类似的东西self myContent)然后返回它?它是如何工作的?我也想知道它是否有一个设计模式名称。

0 投票
2 回答
1079 浏览

smalltalk - 如何在 GNU Smalltalk 中运行 GUI 相关代码?

我有以下代码形式的海豚 Smalltalk:

它在桌面上显示了一个数字时钟。这段代码可以在 GNU Smalltalk 上运行吗?我在 VirtualBox VM 上尝试了 Fedora,但它不起作用,并且gst在Ubuntu 上不存在,并且在 Fedora 和 Ubuntu 上都给出了gst-bloxgst-bloxgst-browser

对象:CFunctionDescriptor 新:1“<0x7ffb3a010dc0>”错误:无效的 C 调出 g_date_get_type

启动应用程序时。它是如何在 GNU Smalltalk 中完成的?

0 投票
1 回答
130 浏览

smalltalk - Smalltalk Vandermonde 矩阵

简而言之,它是一个 Vandermonde 矩阵,我在数组的第二维中运行 for 时遇到问题。

0 投票
1 回答
93 浏览

smalltalk - Smalltalk:在 GNU Smalltalk 中分配给变量而不声明变量

在 GNU 版本 3.2.5 的 Smalltalk 中,当我没有像这样声明变量时,我没有收到任何错误:

相对于:

但我的印象是,当我这样做时应该有一个错误。

0 投票
1 回答
1179 浏览

smalltalk - 如何在do块中连接字符串?

我试图通过一个数组并将该数组中的字符添加到另一个对象。问题是我不断收到错误“字符实例不可索引”。但是,当我在 do 块之外运行 tag := tag,char 时,它就可以工作了。

0 投票
3 回答
257 浏览

smalltalk - 无法在 GNU Smalltalk 中调用“函数”

我想定义块并以这种方式调用它:

但是当我尝试它时,我得到一个错误:

如何在 GNU Smalltalk 中调用函数?

好吧,我删除了 return 语句,这段代码可以正常工作。但是当我尝试定义更复杂的函数时,例如:

它打印为零。如果我用“提前退出”定义:

它给了我同样的错误:从死方法上下文返回。

我以这种方式解决这个问题:

但我认为,这不是美丽的方式。

0 投票
1 回答
496 浏览

smalltalk - 扩展默认类 (SmallInteger)

我正在尝试使用新的实例方法“square”扩展 SmallInteger 类。这个想法是我希望能够调用“5 平方”,它会返回 25。

使用实例方法扩展您自己的类相当简单,因为您知道变量名称,但我不知道 SmallInteger 类中的变量名称。我怎样才能找到它们?

我认为它应该看起来像这样,但是“thisNumber”引用了这个 SmallInteger 对象恰好是的任何数字。