僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
Squeak の
チュートリアルを眺めながらあれこれ。
Gnu Smalltalk にも色々喰わせてみている。
メッセージの区切りは、"." らしい。一行だけなら付けなくても
動くが、一応付けるようにしよう。
st> #(1 2 5 3) last. 3 st> y := #(4 3 'foo'). (4 3 'foo' ) st> y last. 'foo'
#( object1 object2 ...)が配列ということか。
st> x := Array new: 3. (nil nil nil ) st> y nil st> y := Array new: 3. (nil nil nil ) st> x = y true st> z := #(nil nil nil). (nil nil nil ) st> x = z. true st> x at: 2 put: 4. 4 stst> z at: 2 put: 4. Object: Array new: 3 "<0x403658e0>" error: Invalid value nil: object is read-only (ry nil
うーん、いま一つわからん。
st> #('あ' 'い' 'う' 3 'foo' "bar") size. 5 st> #('あ' 'い' 'う' 3 'foo' "bar") last. 'foo'
"foo" はコメントになるようだ。
st> $a asciiValue. 97 st> $b asciiValue. 98 st> $が asciiValue. stdin:190: Invalid character literal, only character codes \ from 0 to 127 are valid stdin:190: Invalid character 0xac
Squeak では ASCII以外も通るようだった。
Transcript と Workspace を開き、Workspaceに打鍵した
Transcript show: $あ asciiValue.
を評価させると、20983074 がTranscript に表示された。
Transcript clear. で消える。
st> | foo bar baz lastobj | st> foo := #'abc'. #abc st> bar := foo last. $c st> baz := bar asciiValue. 99 st> lastobj := baz + 10. 109 st> ^lastobj. 109
GStの対話環境でもコピペ一発で動いた。
スクリプトにもできた。最終行は lastobj printNl. とする。
st> 3 + 7 * 5 50 st> 3 + (7 * 5) 38
端末によって違っていた。
例えば ja_JP.eucJP。
st> 'いろはにほへと' copyFrom: 3 to: 8 'ろはに' st> 'いろはにほへと' copyReplaceFrom: 3 to: 6 with: 'ロハニ'. 'いロハニにほへと'
次に ja_JP.UTF-8。
st> 'いろはにほへと' copyFrom: 4 to: 12 'ろはに' st> 'いろはにほへと' copyReplaceFrom: 4 to: 12 with: 'ロハニ'. 'いロハニほへと'
これ以外では化けたり化けなかったりする。
ちなみに Squeak の Workspace では、 copyFrom: 2 to: 4. とかでOKだった。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。