Главная Макинтош Регистрация

Вход

Приветствую Вас Гость | RSSВторник, 26.09.2017, 08:28
Наш опрос
Оцените мой сайт
Всего ответов: 3

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа


Главная » 2013 » Октябрь » 8 » ruby -KU myscript.rb
11:30
ruby -KU myscript.rb
Посвещается гениям, решившим что в ruby 1.9 значение кодировки должно быть фиксированым.

Предыстроия: решил опробовать ruby 1.9 на небольшом проекте, и убил часа наверно 4 на тупейшую проблему вызванную вот этой строчкой в геме facets.
class String
def blank?
/\S/ !~ self
end
end

при попытке узнать пустая-ли строчка с нелатинскими символами мы получаем такое вот сообщение invalid byte sequence in US-ASCII

Причины:

Оказывается, кодировка utf-8 является недостаточной для ruby (для java, с ее тысячами и тысячами проектов в областях от игростроения до всяческих CRM с ERP и вообще чего угодно и 1 местом по распространенности - этой кодировки хватает для всего, а для руби - нехватило, потребовалось дополнительная поддержка и связанные с этим сложности).

Но ладно, хрен с ним с поддержкой, ввели поддержку множества кодировок так ввели, но нахрена ставить по умолчанию US-ASCII и при этом не давать изменять это значение?!

Что советуют знающие люди: 
http://blog.grayproductions.net/articles/ruby_19s_three_default_encodings

Знающие люди советуют добавлять такую вот конструкцию в начало каждого файла 
%23 encoding: UTF-8
и даже советуют нам приобрести такую хорошую привычку - добавлять магический комментарий к каждому из стапитсот тысяч файлов.

If we all get into that habit of adding magic comments, our code can work together regardless of the various Encodings we personally favor. Ruby will know how to handle each separate file. As an added bonus, we programmers also get to see these comments and know more about the code we are working with. That makes it a good habit to get into, I think.

Вероятно следущим советом было-бы что-то из серии а хорошо-бы называть переменные intCount и stringText, так же лучше, сразу понятно что это. Думаю, этого товарищ прийдет в экстаз от чтения индусского кода и хорошей привычки индусов добавлять магические строчки тысячами.

Единственный способ поменять кодировку глобально что я нашел - использовать такую конструкцию ruby -KU myscript.rb но это неудобно. Может кто-то знает другой способ, подскажите?
Вас интересует диплом? купить диплом Техникума
Просмотров: 4611 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск

Календарь
«  Октябрь 2013  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031

Архив записей

Copyright MyCorp © 2017Хостинг от uCoz