Comment detail

Hello, world!その2 (Nested Flatten)
Squeak Smalltalk ではこれが精一杯。w
1
2
3
'', 2645608968347327576478451524936

"=> 'Hello, world!' "
これは…文字列連結によって数値が文字列にcoerceされるんですね。2645... を16進で見てみると右から左へ H e l l o ... と詰まっているみたいですが、それはそういうものなんですか?
以下のようなことで参考になりますかどうか…。

'abcd' size        "=> 4 "
'abcd' byteAt: 1   "=> 97 "
'abcd' asByteArray   "=> a ByteArray(97 98 99 100) "

1684234849 size    "=> 4 "
1684234849 at: 1   "=> 97 "
1684234849 as: ByteArray   "=> a ByteArray(97 98 99 100) "

'', 'abcd'       "=> 'abcd' "
'', 1684234849   "=> 'abcd' "
'', #(97 98 99 100) asByteArray   "=> 'abcd' "
VMで動いてるんですよね? 実CPUのエンディアンに関わらず、整数はlittle endianの可変長オクテット列って扱いと理解すれば良いでしょうか。可変長にするならlittle endianは妥当な選択だと思います。 それにしても、意外なところでバイナリアンっぽくて(rawな表現を見せていて)新鮮でした。
整数でも無限倍精度整数でなくては駄目みたいです。

'', ('abc' as: LargePositiveInteger)   "=> 'abc' "
'', 16r636261   "=> Error: Instances of SmallInteger are not indexable "
'', 16r64636261   "=> 'abcd' "

Index

Feed

Other

Link

Pathtraq

loading...