Comment detail
Hello, world!その2 (Nested Flatten)
これは…文字列連結によって数値が文字列に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' "





sumim
#606()
[
Smalltalk
]
Rating3/3=1.00
Rating3/3=1.00-0+
1 reply [ reply ]