问题标签 [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.
filenames - 如何在 GNU Smalltalk 中获取当前模块/脚本/文件名?
GNU Smalltalk 省略了 argv 中的脚本名称。
我看到了两种获取脚本名称的方法:
- 追踪一些 Smalltalk 方法,该方法返回类似于 Perl 的变量的脚本名称
$0
。 - 跟踪多行 shebang 的语法并强制 GST 提供脚本名作为 argv 的第一个成员。这是Common Lisp中的一个示例。
command-line-arguments - Smalltalk 中未记录的 getopt
我正在编写一个命令行应用程序来加密密码和解密密码哈希。Getopt 的文档没有提供示例,所以我不知道如何使用 Getopt 类。一些线索散落在邮件列表日志中。
特别是,我不知道 的格式with: pattern
、指定 CLI 参数的字符串以及值是必需的、可选的还是省略的。
ios7crypt.st:
示例运行:
以前,两者-e
和monkey
都被传递给脚本,但 Getopt 的do:
静默 drop -e
,所以输出看起来像:
coding-style - Smalltalk 公共方法与私有/受保护方法
我注意到 Smalltalk 语言没有私有/受保护方法的概念。所有方法都是公开的。来自 Java/C++ 背景,我认为这是该语言的一个根本弱点,因为在 Smalltalk 中创建的任何应用程序都完全可以操作。我想您可以依靠命名约定来记录公共 API 和前缀方法以将它们指示为私有(我相信 Squeak 会这样做),但它仍然是完全开放的。
与使用显式访问修饰符来控制对方法调用的访问相比,这种方法有什么好处吗?
browser - 如何在 GNU Smalltalk 中查看对象/类/上下文浏览器?
我跑了get
,现在我看到黑屏。我期望对象浏览器,但没有。我认为有一些命令。
如何在 GNU Smalltalk 中查看那些对象/类/上下文浏览器?
oop - 基本 Smalltalk 子类
我正在尝试在 Smalltalk 中创建一个非常简单的 Vector 类作为 Array 的子类。我创建类的代码如下所示:
显然我还没有写任何方法,但我只是想让这部分首先工作。如上所述创建类后,如果我输入: v := Vector new: 4 我得到错误:
我假设因为它是 Array 的子类,所以我可以用这种方式创建一个 Vector。这样做的最佳方法是什么?谢谢!
编辑——我想通了。在深入阅读教程后,我发现我需要包含 <shape: #pointer>
macos - 在 Mac OS X Lion (10.7) 上带有 GUI 的 Smalltalk
我的家庭作业需要一些带有 GUI 的 smalltalk,并且我正在运行 Mac OS X Lion (10.7)。
我看到 unix 用户通常使用GNU Smalltalk和GTK+。
我尝试从不同版本的源中安装它们,但它们都给出了一些错误。
然后我使用了 MacPorts,但是该安装破坏了 gst 的 GTK+ 绑定。
最后,我尝试使用fing包管理器安装它(因为 GNU 声明我应该安装一切都很好),但是10.7操作系统没有 smalltalk 包(尽管有以前的包)。
有没有办法在 Mac OS Lion 下使用 smalltalk,或者我应该在虚拟机上运行 Ubuntu?
gnu - 安装 gnu smalltalk 的问题
我试图在 ubuntu 上安装 gnu smalltalk,我从ftp://ftp.gnu.org/gnu/smalltalk下载了 smalltalk,并在桌面上提取了文件夹。当我进入 smalltalk 文件夹并且我写“./configure”并且一切似乎都很好时,控制台显示“现在请输入'make'进行编译。祝你好运。”但是当我输入“make”时,下一个对于计算机的一点工作,终端会显示下一条消息:
我不知道怎么了
smalltalk - vwnt 在 smalltalk 中弹出
当我尝试打开我的 smalltalk 项目文件时,会弹出 vwnt。项目打不开。上次我处理这个项目时,我确实正确地保存了这个项目。如果有人知道如何解决此问题,请提供帮助。
smalltalk - Smalltalk 自己的新方法
问题是一个new
方法永远不会被调用,所以我不能设置值或调用初始化函数。此外,在这样的事情之后:
该方法被调用。如何解决?
smalltalk - 在 Smalltalk 中使用双大于号 (>>) 定义方法
在Kent Beck 的Smalltalk Best Practice Patterns一书中,双大号 ( >>
) 用于定义如下方法:
但是,我无法让它在 GNU Smalltalk 中运行。
在 Smalltalk 的某些实现中它是有效的语法吗?或者它只是一种伪代码?