413语言核心 (1)保留字 有五个ni1,true, false,se1f, super (2)字面量 字符字面量/数字面量/符号字面量/数组字面量 (3)限定符和特殊符号 $##() 1:=或← []()} (4)变量 实例变量/类变量/临时变量/全局变量/汇聚变量/参数
4.1.3 语言核心 (1) 保留字 只有五个nil,true,false,self,super (2) 字面量 字符字面量 /数字面量 / 符号字面量 / 数组字面量 (3) 限定符和特殊符号 " ' $ # #( ) , ; : | :=或← ↑ [ ] ( ) {} (4) 变量 实例变量 / 类变量 / 临时变量 / 全局变量 / 汇聚变量 / 参数
(5)消息表达式与语句 消息表达式的一般格式是 对象选择子参数 对象 选择子 Smalltalk的消息表达式有三种: 单目的不带参数 tree class消息 class发向tree,得到tree的类 0.3 sin 消息sin发向0.3,得sin(0.3) Array new消息new发向 Array,创建- Array 的实例
(5) 消息表达式与语句 消息表达式的一般格式是: 对象 选择子 参数 Smalltalk的消息表达式有三种: ·单目的 不带参数 tree class 消息class 发向tree,得到tree的类。 0.3 sin 消息sin 发向0.3,得sin(0.3) Array new 消息new 发向Array,创建-Array 的实例 对象 选择子-参数
双目的 3+4消息、‘+′带参数4发向对象3,得对象7。 100@50消息‘@′带参数50发向对象100,得(100,50 (sum/count) reserve amount 双目,括号优先单目优先 双目
· 双目的 3+4 消息‘+’带参数4发向对象3,得对象7。 100@ 50 消息‘@’带参数50发向对象100,得(100,50) (sum/count) * reserve amount 双目,括号优先 单目优先 双目
关键字消息表达式 用关键字(带有‘:′的选择子)描述的双目表达式,也是自 左至右释义。 anArray at:3 put: 100 finances totalspentOn: food 赋值变量在不同时间可赋以不同对象,任何表达式加 上赋值前缀‘ quantity←19. name←' chapter 1′。 f array at:4。数组第4元素与‘foo′同名
·关键字消息表达式 用关键字(带有‘:’的选择子)描述的双目表达式,也是自 左至右释义。 anArray at:3 put:100 finances totalSpentOn: ‘food’ ·赋值 变量在不同时间可赋以不同对象,任何表达式加 上赋值前缀‘← ’ quantity←19. name←‘chapter 1’ 。 foo ← array at:4。 数组第4元素与‘foo’同名
块表达式 L: X:y| BicPen goto: X@y] L:X:y| BicPen goto: X@y] value: 100 value: 250 BicPen goto 100@ 250 I ablock aBlock+[ This is a string' displayat: 500@ 500] Display white. aBlock value
·块表达式 [:x:y|BicPen goto:x@y] [:x:y|BicPen goto:x@y] value:100 value:250 BicPen goto 100@ 250 |aBlock| aBlock←['This is a String' displayAt:500@ 500]. Display white. aBlock value