pharo相关内容

Pharo Smalltalk:从 TextMorph 读取

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

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

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

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

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

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 其他开发

如何获取正在执行的编译方法

如何获取当前正在执行的 CompiledMethod 实例? 即 someMethod|这个方法|thisMethod := "这里我想访问一个引用 #someMethod 的 _CompiledMethod_ 实例".^ thisMethod 选择器 解决方案 当前正在执行的方法可以通过#method消息从当前上下文中获取,可以通过thisContext访问 伪变量. 这样的示 ..
发布时间:2021-07-06 18:42:42 其他开发

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

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

Smalltalk:一个对象可以通过进入无限循环来阻塞整个系统吗?

由于Smalltalk调度是非抢占式的,因此进程必须显式产生或等待信号量 这是否意味着一个进入无限循环的对象可能会使整个系统停滞不前? 循环可以随时中断.即使是像[true] whileTrue之类的原子循环,也可以在“执行"之前中断.真正的对象 凭什么可以打断? 解决方案 是虚拟机可能会中断映像.在正常的执行流程下,VM基本上是一个接一个地发送消息.但是,如果需要,某些 ..
发布时间:2021-05-15 21:11:06 其他开发

适用于Squeak/Pharo Web服务的Microframeworks

许多语言都具有用于编写非常小的网站或Web服务的微框架,例如适用于Python的Flask或适用于Ruby的Sinatra.在Squeak上,似乎没有任何等效的东西.伊利亚德(Iliad),海滨(Seaside)和艾达(AIDA)都只提供少量服务就非常繁重.完成此操作的首选方式是什么?直接向科曼奇语或斯瓦佐语中注入汉德尔? 解决方案 我想分享一下我认为是最新的信息(截至2012年底). ..
发布时间:2020-11-10 21:12:13 其他开发

PetitParser评估程序无法正常工作

当我尝试在pharo上运行此代码时,我的答案有些偏离.我尝试评估1-2 + 3,但由于某种原因,它会评估1-(2 + 3),但我不明白为什么会这样.谢谢您的宝贵时间. number := #digit asParser plus token trim ==> [ :token | token inputValue asNumber ]. term := PPUnresolvedParse ..
发布时间:2020-10-31 01:09:47 其他开发

在Smalltalk / Pharo中创建一个以块为参数的键值消息

我有一个方案,其中一个类包含两个互斥的实例变量。一次只能实例化一个。确切地说,我有一个Promise类(试图向Pharo中添加Promise),它包含promiseError和promiseValue实例变量。然后,我想实现方法“ then:catch:”。 此方法应如下工作: promiseObject:= [10/0] promiseValue。 promiseObject然后: ..
发布时间:2020-10-30 20:31:32 其他开发

如何从字符串中删除变音符号(变音符)?

如何将字符串,例如Přílišžluťoučkýkůňúpělbelábelskéódy。转换为 Prilis zlutoucky kun upel dabelske ody。? 源字符串采用Unicode,因此原则上应该可以使用规范化/分解来分隔变音符号。 不幸的是,我没有在Pharo中看到任何支持剥离变音符号或分解的库(也许锌藏在某个地方)。 解决方案 您可以尝试 Diac ..
发布时间:2020-10-21 20:29:48 其他开发

从Smalltalk中的集合中生成所有组合

我看到C#和其他语言可以解决此问题,而Smalltalk却无法解决。我有3个收藏集,例如: a:=#(3 4 5)。 b:=#(4 1 2) c:=#(5 2 3)。 我需要进行所有可能的组合,即e。: #(3 4 5) #(3 4 2) #(3 4 3) #(3 1 5) #(3 1 2) #(3 1 3) #(3 2 5 ) #(3 2 2) ..
发布时间:2020-10-05 22:21:54 其他开发

Pharo Goferit结果导致MessageNotUnderstood:FileList

我刚安装了Pharo5.0,并尝试通过 “ Pharo by example”。 当我进入BouncingAtomsMorph时,我应用了“ Gofer它”,由MartinW在中提供的错误未知变量:BouncingAtomsMorph openInWorld请更正或取消 这将导致MessageNotUnderstood:FileList类>> registerFileReader: ..
发布时间:2020-09-30 19:42:31 其他开发

Pharo Smalltalk和MySQL

我正在寻找一个知道如何连接Pharo Smalltalk和mySql的人.我只想做一些基本的事情,例如“从名称中选择*",然后将结果读入Pharo. 有人知道吗?如果您有一个超级的屏幕录像,而我会为您买啤酒. 解决方案 查看 DBXTalk .马里亚诺·佩克(Mariano Peck)在2011年ESUG大会上作了介绍.这是摘要和视频.请给我一个蓝色月亮;-) ..
发布时间:2020-08-14 02:44:42 数据库

Smalltalk中子字符串的索引

似乎Smalltalk实现缺少一种算法,该算法返回String中子字符串的所有索引.最相似的元素仅返回元素的一个索引,例如:firstIndexesOf:in:,findSubstring:,findAnySubstring:variant. 在Ruby中有实现,但是第一个依靠Ruby hack,第二个依靠忽略重叠的Strings无效,最后一个使用Enumerator类,我不知道该类如何转换 ..
发布时间:2020-08-01 19:20:31 其他开发

smalltalk(初学者)(Pharo)中的关键字消息

我正在尝试创建关键字消息样式方法,但是我不知道如何从该方法内部访问Receiver.我敢肯定这很简单,但是我找不到任何答案.我试图实现的是多余的,但我仍然想知道它是如何工作的. subst: i1 by: i2 ^ self copyReplaceAll: i1 with: i2. 它将在工作空间中按以下方式调用: string1 := 'Lemon'. string2 ..
发布时间:2020-07-29 19:14:51 其他开发

Smalltalk中的自我和自己之间有什么区别?

在Smalltalk中,方法主体中经常有两个术语:self和yourself. 它们之间有什么区别? 解决方案 保留字self是一个伪变量(您不能分配给它),它引用使用该方法的当前接收者.另一方面,yourself是一条消息,您可以将其发送到任何对象以获得该对象. yourself的实现是 yourself ^self 表示消息yourself将按照我刚才的解 ..
发布时间:2020-07-29 19:13:46 其他开发