Рассмотрим следующий код (небольшой тест-случай вареное вниз от реальной проблемы):Как работать с ошибкой упаковки IronRuby?
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 он outputs
1
1
Запуск с IronRuby (32- или 64-бит) из командная строка выводит
1
nil
И, несмотря на это, если я печатать abc==abc2
это дает true
.
Это явно ошибка в IronRuby, но это мертвый проект, поэтому нет надежды на то, что он будет исправлен в ближайшем будущем.
Кто-нибудь знает обходное решение, которое позволит мне упаковать ASCII обратно в строки, которые действительно ведут себя так, как можно было бы ожидать?