问题标签 [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 投票
2 回答
227 浏览

filenames - 如何在 GNU Smalltalk 中获取当前模块/脚本/文件名?

GNU Smalltalk 省略了 argv 中的脚本名称。

我看到了两种获取脚本名称的方法:

  • 追踪一些 Smalltalk 方法,该方法返回类似于 Perl 的变量的脚本名称$0
  • 跟踪多行 shebang 的语法并强制 GST 提供脚本名作为 argv 的第一个成员。这是Common Lisp中的一个示例。
0 投票
1 回答
376 浏览

command-line-arguments - Smalltalk 中未记录的 getopt

我正在编写一个命令行应用程序来加密密码和解密密码哈希。Getopt 的文档没有提供示例,所以我不知道如何使用 Getopt 类。一些线索散落在邮件列表日志中。

特别是,我不知道 的格式with: pattern、指定 CLI 参数的字符串以及值是必需的、可选的还是省略的。

ios7crypt.st:

示例运行:

以前,两者-emonkey都被传递给脚本,但 Getopt 的do:静默 drop -e,所以输出看起来像:

0 投票
4 回答
2812 浏览

coding-style - Smalltalk 公共方法与私有/受保护方法

我注意到 Smalltalk 语言没有私有/受保护方法的概念。所有方法都是公开的。来自 Java/C++ 背景,我认为这是该语言的一个根本弱点,因为在 Smalltalk 中创建的任何应用程序都完全可以操作。我想您可以依靠命名约定来记录公共 API 和前缀方法以将它们指示为私有(我相信 Squeak 会这样做),但它仍然是完全开放的。

与使用显式访问修饰符来控制对方法调用的访问相比,这种方法有什么好处吗?

0 投票
1 回答
272 浏览

browser - 如何在 GNU Smalltalk 中查看对象/类/上下文浏览器?

我跑了get,现在我看到黑屏。我期望对象浏览器,但没有。我认为有一些命令。

如何在 GNU Smalltalk 中查看那些对象/类/上下文浏览器?

0 投票
1 回答
1274 浏览

oop - 基本 Smalltalk 子类

我正在尝试在 Smalltalk 中创建一个非常简单的 Vector 类作为 Array 的子类。我创建类的代码如下所示:

显然我还没有写任何方法,但我只是想让这部分首先工作。如上所述创建类后,如果我输入: v := Vector new: 4 我得到错误:

我假设因为它是 Array 的子类,所以我可以用这种方式创建一个 Vector。这样做的最佳方法是什么?谢谢!

编辑——我想通了。在深入阅读教程后,我发现我需要包含 <shape: #pointer>

0 投票
4 回答
5063 浏览

macos - 在 Mac OS X Lion (10.7) 上带有 GUI 的 Smalltalk

我的家庭作业需要一些带有 GUI 的 smalltalk,并且我正在运行 Mac OS X Lion (10.7)。

我看到 unix 用户通常使用GNU SmalltalkGTK+

我尝试从不同版本的源中安装它们,但它们都给出了一些错误。

然后我使用了 MacPorts,但是该安装破坏了 gst 的 GTK+ 绑定。

最后,我尝试使用fing包管理器安装它(因为 GNU 声明我应该安装一切都很好),但是10.7操作系统没有 smalltalk 包(尽管有以前的包)。

有没有办法在 Mac OS Lion 下使用 smalltalk,或者我应该在虚拟机上运行 Ubuntu?

0 投票
1 回答
399 浏览

gnu - 安装 gnu smalltalk 的问题

我试图在 ubuntu 上安装 gnu smalltalk,我从ftp://ftp.gnu.org/gnu/smalltalk下载了 smalltalk,并在桌面上提取了文件夹。当我进入 smalltalk 文件夹并且我写“./configure”并且一切似乎都很好时,控制台显示“现在请输入'make'进行编译。祝你好运。”但是当我输入“make”时,下一个对于计算机的一点工作,终端会显示下一条消息:

我不知道怎么了

0 投票
1 回答
391 浏览

smalltalk - vwnt 在 smalltalk 中弹出

当我尝试打开我的 smalltalk 项目文件时,会弹出 vwnt。项目打不开。上次我处理这个项目时,我确实正确地保存了这个项目。如果有人知道如何解决此问题,请提供帮助。

0 投票
2 回答
596 浏览

smalltalk - Smalltalk 自己的新方法

问题是一个new方法永远不会被调用,所以我不能设置值或调用初始化函数。此外,在这样的事情之后:

该方法被调用。如何解决?

0 投票
3 回答
408 浏览

smalltalk - 在 Smalltalk 中使用双大于号 (>>) 定义方法

在Kent Beck 的Smalltalk Best Practice Patterns一书中,双大号 ( >>) 用于定义如下方法:

但是,我无法让它在 GNU Smalltalk 中运行。

在 Smalltalk 的某些实现中它是有效的语法吗?或者它只是一种伪代码?