我需要一些带有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?
在Kent Beck的Smalltalk Best Practice Patterns一书中,双更大符号(>>)用于定义这样的方法:
Point class>>x: xNumber y: yNumber
    ^self new
        setX: xNumber
        y: yNumber
Point>>setX: xNumber y: yNumber
    x := xNumber.
    y := yNumber.
    ^self
但是,我无法在GNU Smalltalk中运行它.
在Smalltalk的某些实现中它是有效的语法吗?或者它只是一种伪代码?
在GNU Smalltalk手册中,它写道:
Unlike other Smalltalks, method statements are inside brackets.
所以我想知道,为什么会出现与Smalltalk-80这样的任意偏差?
使用GNU/Smalltalk开发UI的框架或软件包是什么?似乎有一个GTK +绑定但没有太多关于它的文档.
例如,在VisualAge Smalltalk中有WidgetKit,在Squeak中有Morphic with Announcements或更改/更新事件协议.它们在GNU/Smalltalk中的相应选项是什么?
我有大约1800行GNU Smalltalk代码,我想进入Pharo.我已经开始按类选择,选择器选择器,但它非常耗时且乏味.
有没有办法批量导入项目?我可以很容易地调整GST源文件的格式,使vi之更像Pharo.
我考虑的另一件事是复制一个"启动" .mcz文件,感受source.st文件的格式,然后创建一个source.st带文件cat的新文件vi.但是那里的snapshot.bin文件似乎也有源于它,这使得这是一条艰难的道路.似乎应该有一个更简单的方法.我用不同的短语谷歌,但没有打任何东西.
我是GNU Smalltalk的新手.我知道在大多数编程语言中,有一个import/ #include/ require命令可以让一个源文件访问另一个源文件的内容.我的问题是,如何在GNU Smalltalk中将一个文件导入另一个文件?任何帮助,将不胜感激.谢谢!
除了大小.
例如:
|arr|. arr := Array new: 10
和
#(element1,element2, ...)
我更喜欢通过标准的bash终端与编程语言连接.虽然Squeak和Pharo有很好的文档记录,但它们似乎没有CLI,只有VM GUI.
GNU Smalltalk和Slate具有普通的CLI但没有适用于Linux,Mac或Windows的安装程序 - 并且它们在Windows上需要复杂的MSYS配置.
似乎没有具有CLI和多平台安装程序的Smalltalk实现.我很乐意接受这种语言,但我似乎找不到适合我的Smalltalk.
Squeak和Pharo有秘密的CLI模式吗?有谁知道GST或Slate安装程序的发布位置?是否有其他具有这两个功能的免费开源Smalltalks?
我正在尝试使用新的实例方法"square"扩展SmallInteger类.我的想法是,我希望能够称之为"5平方"并且它将返回25.
使用实例方法扩展自己的类非常简单,因为您知道变量名,但我不知道SmallInteger类中的变量名.我怎么才能找到它们?
我认为它看起来应该是这样的,但是'thisNumber'引用了这个SmallInteger对象恰好是什么数字.
SmallInteger extend [
    square [
        | r |
        r := thisNumber * thisNumber.
        ^r
    ]
]
有什么区别
Rectangle origin: 5@5 extent: 40@30
和
Rectangle new origin: 5@5 extent: 40@30