问题标签 [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 回答
185 浏览

smalltalk - 为什么 GNU Smalltalk 对方法体使用方括号?

GNU Smalltalk 手册中写道:

所以我想知道,为什么与 Smalltalk-80 会有如此任意的偏差?

0 投票
1 回答
1380 浏览

inheritance - Smalltalk:检查一个方法是否属于一个类(或其继承层次结构)

如果给定的方法(例如:使用#aMethod 传递)属于给定的类(或其层次结构),是否有一条 smalltalk 消息会以布尔值回答?

我想说的是——</p>

显然, containsMethod: 是我希望存在的某些消息的占位符。哦,这个例子中self的超类是Object。谢谢!

0 投票
1 回答
2750 浏览

compilation - 编译 'hello, world' GNU smalltalk

每当我开始学习一门语言时,我做的第一件事就是生成一个用该语言编写的可执行文件(它可以是编译程序或脚本),运行时会打印“hello, world”和 stdout 的换行符:

在使用 GNU Smalltalk 大约一个小时后,我还没有找到如何做到这一点。

(我知道 hello world 程序可以在会话中表示为

这不符合我的标准输出要求)

我知道 Smalltalk 中没有主线。所以我对实现它可能需要什么样的样板非常感兴趣。同样,文件不一定要编译,但练习的最终结果必须是导致上述会话提取的 smalltalk 代码。

PS。yesyesyes我知道我做错了,因为我不接受“基于图像的编程”哲学。我不在乎。我并不反对学习如何使用图像和 IDE 以及所有这些,但我现在真的没有什么兴趣。我关心的是 Smalltalk 语言本身。从句法、哲学和排版上看,它相当漂亮。我觉得从命令行解释器和文本编辑器学习编程语言很舒服。:)

0 投票
2 回答
720 浏览

macos - 浮点数在 GNU smalltalk (gst) 中引发除以零错误

我使用端口在我的 Mac 中安装了 gnu small talk。

版本是 3.2.5

它似乎工作正常,但是当我测试浮点数时,我得到了除以零的错误消息。

我可以通过附加“e0”来绕过这个问题。

但是,对于一些涉及浮点数的数字运算,我仍然会遇到错误。

有时它工作正常。

这有什么问题?

0 投票
5 回答
4539 浏览

smalltalk - 在 GNU Smalltalk 中定义和调用函数的正确方法是什么?

我现在正在尝试自学 Smalltalk,但我仍然没有弄清楚如何调用我编写的函数。我尝试使用语句调用printSomething带有参数的函数,但没有调用该函数,而是产生了以下错误:.'Derpy'printSomething: 'Derpy'.prog.st:3: expected expression

我在这里做错了什么,在 Smalltalk 中调用带参数的函数的正确方法是什么?到目前为止,我读过的教程都没有回答我的问题,我仍然有点困惑。

0 投票
5 回答
3563 浏览

smalltalk - 是否可以从命令行运行 Smalltalk 脚本?

我发现 2004 年的一篇(可能已过时且不正确)博客文章声称无法从命令行运行 Smalltalk 脚本。从那以后有什么变化吗?是否可以从命令行运行 Smalltalk 脚本?我做了很多谷歌搜索,我根本没有找到关于这个主题的信息。

有没有办法将 Smalltalk 脚本(例如这个)保存为文件,然后从命令行运行脚本?

0 投票
1 回答
1081 浏览

user-interface - 在 GNU/Smalltalk 中开发 UI

有哪些框架或软件包可用于使用 GNU/Smalltalk 开发 UI?似乎有一个GTK+ 绑定,但没有太多关于它的文档。

例如,在 VisualAge Smalltalk 中有 WidgetKit,在 Squeak 中有 Morphic,带有公告或更改/更新事件协议。他们在 GNU/Smalltalk 中的相应选项是什么?

0 投票
1 回答
140 浏览

smalltalk - 无效输入异常处理 - SmallTalk

让一个名为“sum”的 smalltalk ms​​g 返回数组中元素的总和。

例如:#(1 2 3 4 5) sum ----> 15

当输入为 #(1 2 'a' 3 5) 总和时。执行终止并显示一个大的异常框。取而代之的是,我们如何仅通过显示一条消息来优雅地退出执行。我不希望显示大的异常窗口。

我尝试通过以下方式处理异常。但是,我注意到在输入无效的情况下执行不会终止。

如果将下面的代码放在工作区中,我预计执行将在第 2 行终止。但是,第 3 行也正在执行。|温度| temp := #(1 2 3 'as' 4 5) 总和。温度:=温度*5。

0 投票
2 回答
732 浏览

smalltalk - 什么时候在 smalltalk 中调用初始化?

我有一个带有实例变量'a'的类。

当我使用 new 创建类的新实例时,调用的方法的顺序是什么?

对象如何知道它应该调用初始化方法?

如果我创建一个类方法来为我的实例变量赋值,是否仍会为我的类方法未调用的其他实例变量调用初始化?

0 投票
1 回答
299 浏览

exception-handling - Visualworks Cincom Smalltalk SUnit 错误条件测试用例

我有这段代码。

如果我必须测试运行此代码时是否引发了上述错误,SUnit 测试用例会是什么样子?

目前,当我运行上述代码时,它显示“未处理的异常:无效输入”我该如何处理这个异常?