我是smalltalk的新手,我对这个语言中只有6个关键字(self,super,true,false,nil和thisContext)这一事实印象深刻,并且几乎所有内容都像消息传递一样多么纯粹,例如.使用whileTrue循环,if/else使用ifTrue等等...这与我在其他语言中习惯的方式不同.
然而,在某些情况下,我无法理解消息传递的真正适用方式,其中包括:
:= ;.#( ... )这些不是消息传递,对吗?
我是Smalltalk的新手,想了解一些事情并确认其他事情(为了看看我是否得到了这个想法):
1)在Smalltalk变量是无类型的?
2)Smalltalk中唯一的"类型检查"发生在发送消息并且爬升继承层次结构以便将消息绑定到方法时?如果到达类Object,它会抛出运行时错误,因为该方法不存在?
3)没有强制,因为没有类型......?
4)是否可以重载方法或运算符?
5)是否存在某种通用性?我的意思是,参数多态?
6)发送消息时是否对参数进行某种兼容性/等价性检查?或者在分配变量时?
大多数问题可能都有很短的答案(如果我的方向正确).
smalltalk ×2