[sisyphus] ужас. В ruby сломался первый символ прочитанного файла. BOM!
Michael Bykov
m.bykov на gmail.com
Чт Сен 20 23:53:08 MSK 2012
19 сентября 2012 г., 16:29 пользователь Michael Bykov
<m.bykov на gmail.com> написал:
> 19 сентября 2012 г., 16:03 пользователь Maxim Barnash
> <rebarned на gmail.com> написал:
>> 1.9.3p194 :001 > f = open 'config.ru'
>> => #<File:config.ru>
>> 1.9.3p194 :002 > l = []; File.foreach(f) {|ln| l << ln.split('')}
>> => nil
>> 1.9.3p194 :003 > l.first.first == '#'
>> => true
>> 1.9.3p194 :004 > l.first.first
>> => "#"
>>
>> Что не так? И да, про какие кавычки речь, если первый символ прочитанного
>> файла в Вашем случае — #?
>>
>> Ну не использовать split/join без аргумента, и использовать File#each
>>
>> --
>> Regards,
>> Max Barnash
>
> Ага, и у меня до вчерашнего дня все работало как часы.
>
> И да, не смертельно, обойтись можно. Но неизвестно, где эта зараза еще вылезет.
>
> (Про кавычки речь - я скопировал вывод в консоль. И набрал то же самое
> руками, после ==, т.е "#" == "#" -> false)
>
>
> --
> М.
>
> http://diglossa.ru
> xmpp://m.bykov@jabber.ru
Оказывается, я поставил себе новый прекрасный emacs24.
И что вы думаете? Он по дефолту мне залепил BOM.
hexdump -n 3 -C ~/web/xxx.txt
00000000 ef bb bf
вот этот ef bb bf - BOM и есть.
это что, они там в Редмондах, с ума все посходили, а Альт такую штуку
пропустил? Или это мне новый Starter Kit такой ляп устроил, скорее
всего.
set-buffer-file-coding-system -> utf-8 исправило положение.
В общем сорри за ложную тревогу.
--
М.
http://diglossa.ru
xmpp://m.bykov@jabber.ru
Подробная информация о списке рассылки Sisyphus