如何从Squeak和Pharo调用shell命令?这些环境中是否包含某些unix语言中的system()函数以运行外部shell命令,或者反引号(不能让它们在这里对编辑器执行操作,但是当你按下左键时会得到的内容) 1"及以上"TAB")捕获命令的输出?
我试图比较Smalltalk中的两个字符串,但我似乎做错了什么.
我一直收到这个错误:
未处理的异常:非布尔接收器.继续求真.
stringOne := 'hello'.
stringTwo := 'hello'.
myNumber := 10.
[stringOne = stringTwo ] ifTrue:[
   myNumber := 20].
知道我做错了什么吗?
在Squeak/Pharo中是否有任何Smalltalk解析器允许我在Squeak/Pharo中浏览VisualWorks代码?我有兴趣阅读以块格式(而不是XML格式)导出的代码.
澄清:我不需要提交代码.
谢谢
我目前正在Squeak环境中学习Smalltalk,而我正在阅读"Squeak - 快速前往ObjectLand".我使用Python和Java的一些先验知识进入面向对象的范例,第36页的书中的这句话让我想到:
Smalltalk是面向对象语言的基于类的实现.
短句但非常有趣.在OO中,类,对象,实例等所有术语似乎都是明确定义的,并且似乎指向唯一的真实含义,并且您可能会遇到类似"对象是类的实例"的通用句子.
但是你很少听到实施策略.什么是实现面向对象的概念,在这种情况下,是什么意思?除了类之外是否还有OO语言的实现?
在查看Smalltalk语法定义时,我注意到了一些不同的数组符号:
#[] "ByteArray"
#() "Literal Array"
{}  "Array"
召集Smalltalk宇宙的绝地大师,
我对C++/Python/Perl有所了解,并且已经编写了5年多的编程.
我必须分叉Scratch - MIT的可视化编程语言来增加对机器人工具包的支持.Scratch是使用Squeak创建的,Squeak是Smalltalk的一个实现.
我打算阅读A Little Smalltalk - 由Timothy budd跟随Sqeak By Examples - 作者:Oscar Nierstrasz [http://squeakbyexample.org/]
你认为这是个好主意吗?你会建议什么?我可以看免费视频教程吗?
最终目标是能够理解临时代码库.在我能够理解(截至目前)奇怪的Squeak开发环境及其方式之前,我想先了解一下smalltalk.
卢克小行者
在Smalltalk中,系统浏览器是几乎任何东西的核心工具.Glamour似乎是使用声明性脚本语言构建通用浏览器的软件包.从论文中可以看到VisualWorks和Pharo,但我在这里只讨论Pharo版本.
除了Glamour相对于旧方法的技术优势之外,对于OmniBrowser的支持似乎在2011/2012年停止.所以从2009年开始的Glamour可能是OmniBrowser的合理继承者.但是有一个令人惊讶的惊喜:另一个"浏览器项目"被创建,它被称为Nautilus.
可能是因为开发人员注意到作为浏览器实现框架和类浏览器很难维护,OmniBrowser在Glamour中被"拆分"用于浏览器框架和Nautilus for Smalltalk Class Browsing.引自Nautilus chpater:"它的目的是浏览RPackage,与RB重构引擎兼容,具有环境意识并与公告合作"
捕获每个Smalltalk新手的东西是add:不会返回"自我"但是添加的对象.
例如,使用此代码:
myCollection := OrderedCollection new 
  add: 'Peter';
  add: 'John';
  add: 'Paul'.
myCollection将包含字符串"保罗",而不是集合本身.
这是因为add:返回正在添加的对象,整个级联表达式的计算结果是最后发送的消息.
相反,它应该写yourself在最后:
myCollection := OrderedCollection new 
  add: 'Peter';
  add: 'John';
  add: 'Paul';
  yourself.
add:这种行为有什么好处?我是Pharo的新手,我正在尝试迭代OrderedCollection,但是从最后开始.
例如:
| c |
c := OrderedCollection new.
c add: (1).
c add: (2).
c add: (3).
c do: [ :each | Transcript show: each ; cr ]
结果却是1 2 3我想要的3 2 1.
是否有可能或者我必须使用其他类型的收藏?
smalltalk ×10
squeak ×10
pharo ×5
visualworks ×4
oop ×2
arrays ×1
mit-scratch ×1
object ×1
string ×1