次のコードを考えてみましょう (実際の問題から煮詰めた小さなテスト ケース)。
abc="ABC"
b="B"
print abc.index(b)
print "\n"
abc2=abc.unpack('C*').pack('C*')
b2=b.unpack('C*').pack('C*')
print abc2.index(b2)
print "\n"
IdeOneでは出力します
1
1
出力するコマンドラインから IronRuby (32 ビットまたは 64 ビット) で実行します。
1
nil
それにもかかわらず、私も印刷abc==abc2
すると、true
.
これは明らかに IronRuby のバグですが、終了したプロジェクトであるため、近い将来に修正される見込みはあまりありません。
実際に期待どおりに動作する文字列にASCIIをパックできる回避策を知っている人はいますか?