smalltalk相关内容

SmallTalk:消息的发送者是什么?

在SmallTalk中,一切都是通过向Receiver对象发送消息来实现的。其语法通常遵循Receiver Message格式,其中Receiver是消息发送到的对象。现在我忍不住想知道,Small Talk消息的发送者是什么?考虑以下SmallTalk语句: aMorph color: Color yellow 我可以认为a Morph是消息的接收者,但发送者呢?标准的SmallTal ..
发布时间:2022-04-17 18:23:40 其他开发

为什么 smalltalk 不是函数式编程语言?

随着对函数式编程语言的重新兴趣,我看到 Smalltalk 和 FPL 之间的一些相似之处,即闭包(Smalltalk 中的 BlockClosures) 然而,Smalltalk 不是 FPL? 需要什么来考虑它? 解决方案 使用面向对象范式编程是通过将问题域实体识别和建模为对象来创建程序,然后让它们彼此协作以解决每个问题实例.使用函数范式编程是将问题建模为数学问题,并创建一个数学 ..

Smalltalk 中的消息转发

所以我正在编写一个应用程序,其中一个对象有一堆将消息转发到的委托对象.这个想法是我可以说 someObject sendMessage:aMessage 并且 aMessage 将被发送到所有 someObject 的委托(对于 aMessage 的任何值).我能够做到这一点的唯一方法是: sendMessage:aMessage|sel chunks kwords arglist msg ..
发布时间:2021-11-26 17:30:41 其他开发

Pharo Smalltalk:从 TextMorph 读取

在使用 Pharo 的 Smalltalk 中,我正在创建一个读取用户输入并执行 X 的应用程序. 到目前为止,我已经设法制作了一个用户可以输入值的 TextMorph,但我不确定如何从 TextMorphs 读取数据,然后对值进行处理. 有什么想法吗? 谢谢 解决方案 好吧,您可以简单地将 text 发送到您的变形并获取其内容.所以你可以有一个按钮,当你按下按钮时,你可 ..
发布时间:2021-09-26 19:14:04 其他开发

如何在smalltalk中创建一个窗口

我正在尝试显示一个窗口,但我不断收到一条消息无法理解错误.片段: 窗口新标签:'你好';打开 解决方案 好的,对于这样的游戏,您想使用自定义控件.您首先为您的游戏创建 View 的子类并覆盖 displayOn: 方法以显示视图.您可以使用 ViewHolder 将视图添加到 UIPainter 画布.将 View: 属性设置为返回自定义视图的方法的名称. 要拦截鼠标点击,您需要为您的 ..
发布时间:2021-09-25 19:35:25 其他开发

如何在 Squeak 中加载 VMMaker?

我使用的是 Squeak 4.4 更新 12327 和 VM 版本 4.1.1.我尝试使用 ConfigurationOf 脚本加载 VMMaker,但总是失败,主要在 Freetype 包中出现异常. Gofer newsqueaksource: 'MetacelloRepository';包:'ConfigurationOfVMMaker';加载.((Smalltalk at: #Confi ..
发布时间:2021-09-18 18:49:50 其他开发

如何自动将多个 Monticello 提交从本地存储库复制到 Smalltalkhub.com?

白天我将多个版本的 Monticello 软件包提交到​​我磁盘上的本地存储库. 稍后我想将本地存储库与 Smalltalkhub.com 存储库同步. 目前我使用 Monticello 浏览器手动将本地提交一一复制到 Smalltalkhub 存储库. 如何自动执行此任务? 解决方案 您可以使用 Gofer 自动执行您的蒙蒂塞洛任务. Gofer new包:“我的项 ..
发布时间:2021-09-17 19:35:58 其他开发

如何在smalltalk中以变形显示字典的内容?

因为我似乎无法找到一些可以显示 Dictionary 内容的预定义 Morph,我决定我最好停止寻找并想要创建我自己的 Morph.我找到了一个 不错的描述 如何从一些不错的示例代码开始让我开始,但很快我就遇到了一个问题,我似乎无法在画布上绘制文本或类似内容. 我创建了一个类 变形子类:#DictionaryView实例变量名:'字典'类变量名:''池字典:''类别:'统计工具' 我想按 ..
发布时间:2021-09-15 19:30:36 其他开发

如何将 LabelMorph/TextMorph 绑定到变量,以便 Morph 反映变量的变化?

我有一个包含字符串的变量的对象. 我有一个包含 LabelMorph/TextMorph(或其他显示文本的 Morph?)的窗口. 如何将 LabelMorph/TextMorph 绑定到变量,以便在变量中的 String 更改时标签更新? 经典的 Smalltalk-80 依赖/更改/更新机制? Pharo 公告框架? 有什么不同?? 我该怎么做?我应该使用哪种 Morp ..
发布时间:2021-09-15 19:21:44 其他开发

在没有 GUI 的服务器上运行 Smalltalk?

我有一个相当明确的问题 - 我想在不使用图形界面的情况下在生产服务器上运行 Smalltalk.VW 或 Pharo(甚至 Squeak)可以做到这一点吗? 我有一个没有 X 的 VPS 主机,并且希望在 Smalltalk 上运行几个网站,同时使用成熟的 Smalltalk 环境在本地开发它们,包括 GUI. 解决方案 是的,可以以“无头"方式部署 Pharo.只需发送 -head ..
发布时间:2021-09-15 19:18:58 其他开发

Smalltalk中如何将数字转换为字符串(视觉作品)

我很难找到有关如何在 Cincom Smalltalk 中获取数字的字符串表示的信息.这是如何在这种语言中执行的?具体来说,我正在编写一个对象的字符串表示,类似于 Java 中的 toString 函数. 解决方案 printString 方法旨在返回一个字符串以允许程序员解释该数字.如果您在示例中使用了 3.14d(双精度型),您会在 printString 中看到“d"字符. 这 ..
发布时间:2021-09-09 18:54:48 其他开发

什么是 Smalltalk“图像"?

什么是 Smalltalk“图像"?是不是像序列化一个 Smalltalk 运行时一样? 解决方案 Smalltalk 图像是一个非常有趣的野兽.将其视为一种不朽.目前的许多Smalltalk系统,其中Pharo、Squeak、VisualWorks,都有一个共同的祖先,即来自施乐PARC的Smalltalk镜像.然而,这个共同的祖先并不是什么遥远的东西,而是在那些现代系统中实际上仍然存在 ..
发布时间:2021-09-05 20:40:29 其他开发

Pharo 有 CAS 吗?

在学习 Python 时,我发现了 SymPy 模块,它实际上是一个完整的计算机代数系统 (CAS),您可以使用它来解决数学中的符号问题,例如微分方程、多项式等等.现在我正在学习 Pharo,我想知道是否有一种方法可以在 Pharo 中进行符号数学运算,类似于 SymPy. 解决方案 PolyMath 中有一个 CAS,这是从 CUIS 移植过来的,还有 Mathemagics ..
发布时间:2021-09-03 18:47:56 其他开发

Smalltalk (Pharo) 如何简单地与用户交互

我偶然发现了 Smalltalk 并进一步下载了 Pharo,因为它被推荐了.我的第一印象是非常积极的.我想移植一些我用 C++(我的主要语言)编写的简单程序,这样我就可以感受一下 Smalltalk. 但是,我意识到我找不到一种简单的方法来从用户那里获取一些输入,例如我想创建一个带有 REPL 循环的控制台计算器,但我在 Pharo 中找不到这样做的方法.我不想要带按钮的 gui,因为那样 ..
发布时间:2021-08-30 19:03:13 其他开发

是否可以在 Smalltalk 中扩展单个对象

我正在研究 Smalltalk 反射,我想知道是否可以像在 Ruby 中那样扩展单个对象.我的意思是一个只有特定对象响应的选择器. 这里有一些 Ruby 代码说明了我的意思.澄清一下:在 Ruby 中,这会为此对象打开一个虚拟类,并使用新定义对其进行扩展.这里的重要部分是类定义没有任何变化! o = Object.newo.instance_eval {def foo;puts "foo" ..
发布时间:2021-07-06 18:32:32 其他开发

哪些编程语言(除了 Smalltalk)是基于图像的?

如果有人知道使用像 Smalltalk 这样的图像的编程语言,我真的很感兴趣... 我认为这是计算机科学史上最伟大的思想之一.除了基于图像的 Smalltalk 之外,我找不到其他语言. 解决方案 图片 图像基本上是内存转储.通常,Lisp 开发系统会启动运行时和图像.然后用户进行更改,然后可以编写新图像.有时这是开发人员使用的功能,有时也在 Lisp 系统本身的开发过程中使用 ..
发布时间:2021-06-21 20:23:34 其他开发

在 Smalltalk 中获取消息的发件人

是否有一种实用的方法可以在 Smalltalk 中在不手动将 self 作为参数传递的情况下获取消息的发送者? 更具体地说:我想向传递给我的类的 ID 添加一个特定于类的前缀,因此如果 ClassA 发送(在类端) ClassB doSomethingWith: 'myId'. ClassB 应该在内部将 'myId' 视为 'ClassB-myId' 或类似的东西. 我已经用一个 ..
发布时间:2021-06-12 19:14:29 其他开发

Smalltalk:原语是如何实现的?

我知道一切都是对象,您可以在 Smalltalk 中向对象发送消息以执行几乎所有操作.现在我们如何实现一个对象(内存表示和基本操作)来表示原始数据类型?例如整数的 + 是如何实现的? 我查看了 Smalltalk 的源代码,并在 Smallint.st 中找到了它.有人能解释一下这段代码吗? + arg [“将接收者和 arg 相加并回答另一个数字" ..
发布时间:2021-06-12 19:13:54 其他开发

为什么这个类/实例变量没有被初始化?

我正在尝试使用 gnu-smalltalk.在带有变量的简单类的以下代码中,我发现它没有被初始化为给定的值: 对象子类:Myclass[|主值|主值:= 555.getmainval [^mainval]]gc := Myclass 新的.gc getmainval printNl. 对象创建时没有任何错误.但是,输出是: nil 虽然我原以为是 555. 如果我添加一个方法来为它赋 ..
发布时间:2021-06-11 19:39:12 其他开发