我想在pharo图像启动时添加一些东西来运行.没有什么比只调用一个类方法更好的了,它是我的应用程序的入口点.我找不到任何在启动时制作smalltalk脚本的指南.或者你有什么方法可以添加在图像启动时完成的东西吗?
我是Smalltalk技术的新手.我在编程方面的经验是使用C和C++.我想了解smalltalk的设计方法.任何人都可以提出一些简单的实时应用程序,这些应用程序是用smalltalk开发的,可以帮助像我这样的初学者探索smalltalk的途径.目前我正在试验我在Pharo上的smalltalk学习.
你怎么能以编程方式将一个类变量添加到Pharo的一个类中?它应该在类构建器中,您可以在其中将实例变量添加到类中.但我没有看到它.
在任何Smalltalk风格中,是否有任何示例显示如何解析RDF文件?我见过的唯一的包是Rikaiko与RDFXMLReader类,但没有引用,它似乎很undocummented.
我在Pharo Smalltalk的雅典/开罗发现了仿射变换功能(旋转,剪切,平移,缩放).
我正在寻找透视转型.这有可能吗?至少在开罗API中似乎没有这方面的便利方法.

上下文
作为一个大学项目,我们想要改变pharo vm以使用对象表,看看会发生什么.
我们使用来自github和VMMaker 的pharo-vm克隆.构建VM工作正常.
为了开始,我们添加了一个返回增量Integer的原语:
InterpreterPrimitives>>primitiveIntegerIncrement
"increments an integer"
self pushInteger: self popInteger + 1 .
Run Code Online (Sandbox Code Playgroud)
并StackInterpreter class>>initializePrimitiveTable据此修改
MaxPrimitiveIndex := 576.
"... and so on ..."
(575 primitiveFail)
(576 primitiveIntegerIncrement))
Run Code Online (Sandbox Code Playgroud)
它有效.
问题
当我们对VM进行更改时,我们想要在SmalltalkImage中进行测试运行,因此我们不需要编译并看到它不起作用.
就像是:
StackInterpreter test: '1 inc'
Run Code Online (Sandbox Code Playgroud)
如果原语错误或发生错误,我可以调试.当然需要做得更多,但我怎样才能做到这一点?
我们尝试了什么
类VMMaker-InterpreterSimulation类StackInterpreterSimulator.尝试评论中的代码
DoIt
^ (StackInterpreterSimulator new openOn: Smalltalk imageName) test
Run Code Online (Sandbox Code Playgroud)
错误:
displayForm := 'Display has not yet been installed' asDisplayText form.
Run Code Online (Sandbox Code Playgroud)
ByteString不明白 asDisplayText
(CogVMSimulator new openOn: Smalltalk imageName) test
(InterpreterSimulator …Run Code Online (Sandbox Code Playgroud)在工作的同时,我做了很多修改.每当代码形式合理时,我都愿意提交.但并非所有这些提交都很有趣.所以我将这些提交提交到本地磁盘或私有服务器.它看起来像这样:
Foo早上拿了包,所以它的版本是FamousSmalltalkGuy.14.Foo在本地打包是最多的DanielLyons.17.FamousSmalltalkGuy.15了我的图像,生成DanielLyons.18.现在我想推进DanielLyons.18Smalltalkhub.什么是正确的做法?
复制版本(单击Monticello UI中的"复制"按钮).
这感觉错了,因为届时将有来自不连续FamousSmalltalkGuy.15和DanielLyons.18.
在Smalltalkhub存储库中提交新版本,手动DanielLyons.15在框中书写.
这感觉不对,因为它似乎混淆了我的本地形象.毕竟,它DanielLyons.15之前已经看过了,这不是它.
我确信这里有正确的事情,但我不知道它是什么.如果有人能够对正确的蒙蒂塞洛工作流程进行同步协作开发,我将非常感激.谢谢!
有人可以用Smalltalk解释Pharo 4.0中双重调度的过程吗?我是Smalltalk的新手并且很难掌握这个概念,因为与Smalltalk相比,它在Java中的实现方式非常不同.如果有人可以通过一个例子解释它,将会非常有帮助.
我已经下载了pharobyexample.org电子书,但它似乎与最新版本的pharo不同步,我也想知道有哪些资源可以帮助我学习smalltalk.
pharo ×10
smalltalk ×10
squeak ×3
cairo ×1
matrix ×1
monticello ×1
rdf ×1
startup ×1
unit-testing ×1
visualworks ×1