[sisyphus] ужас. В ruby сломался первый символ прочитанного файла

Michael Bykov m.bykov на gmail.com
Ср Сен 19 15:23:50 MSK 2012


Салют.

Я обновил систему, и пересобрал Ruby, в rvm, все как обычно.

Возникла проблема в File.foreach, и 1.9.2, и 1.9.3. И с export
RUBYOPT="-Ku", и без него.

И сломалось еще много чего, например, start_with? тоже на первом символе файла.

Но причина всегда в первом символе -

        File.foreach(fn) do |line|
          puts "Line split #{line.split}"

1.9.3p194 :003 >
Line split ["#", "bla-bla-bla"]

Теперь я копирую в консоль "#" и вижу, что это не равно набранному руками "#"

1.9.3p194 :004 > "#" == "#"
 => false

Теперь я руками исправляю #" == "#", оставляя первую кавычку, как она была

1.9.3p194 :005 > "#" == "#"
 => false

А теперь я исправляю только первую кавычку (#" оставлены старые)

1.9.3p194 :006 > "#" == "#"
 => true

Дело в этой кавычке. В ней, в самом первом символе прочитанного файла,
что-то нехорошее.

Также

puts "Line first #{line.first.inspect}"
Line first ""

Вместо ожидаемого "#"

И так далее.

Что-то я пропустил важное. Подскажите, куда копать, как лечить? Вы не
встречали сообщений об этом?


-- 
М.

http://diglossa.ru
xmpp://m.bykov@jabber.ru


Подробная информация о списке рассылки Sisyphus