1

次のコードを考えてみましょう (実際の問題から煮詰めた小さなテスト ケース)。

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をパックできる回避策を知っている人はいますか?

4

1 に答える 1