Руби мог написать только японец =_=
Тег ruby
Представьте себе такую задачу: из БД путем нехитрого запроса к хранимой процедуре выгребаются данные, конвертятся в нужный формат (json, например, или что-то не сильно сложнее) и отдаются клиенту, который их хваатает по https (http вряд ли будет). Иногда надо будет объединять данные из нескольких запросов. Предполагается, что статики будет немного.
Что выберете для разработки?
Что будет лучше работать при нагрузке в 100-500 запросов в секунду?
Какой web-сервер использовать?
О! Раз у меня появился линупс на соседней машине, то можно сделать на нём TSS12 и снова спамить в Тумблер!
Мейл гейт Тумблера написан на Руби. А ты продолжай закатывать глазки и морщить носик, делая сайтики на жумоле в фирме из полутора студентов.
Меня угнетает, что в Руби, как в Цэ сначала идёт функция, а потом - её использование. Там прототипы не объявляются?
В новой версии Руби под Windows выяснилось, почему кириллица в командной строке больше не проблема. Для начала программа получает юникодную командную строку при помощи функции GetCommandLineW(). Здесь использована W функция для получения командной строки в UTF-16 вместо ANSI.
Потом она пуляет её в функцию, которая занимается парсингом.
https://github.com/ruby/rub...7/win32/win32.c#L774
Обратите внимание на флаг CP_UTF8 - он означает, что после парсинга командная строка из UTF-16 будет перегнана в UTF-8 и дальше будет использована в таком виде.
После дробления на составляющие, программа командует конвертировать UTF-16 строки параметров в указанную кодировку, тоесть, в UTF-8.
https://github.com/ruby/rub.../win32/win32.c#L1747
В функции перекодирования находится простой WideCharToMultibyte(), который и делает указанную работу.
https://github.com/ruby/rub.../win32/win32.c#L1968
Дальше не интересно.
О чём это говорит? Авторы Windows билда Руби теперь в курсе, что юникод в Win32 API существует в UTF-16, и командная строка приложения прилетает в программу именно в этом формате. Кроме того, авторы правильно проводят парсинг и конвертируют текст в кодировку, которая уже дальше используется тем самым кроссплатформенным кодом. Заодно авторы отвечают на вопрос: «А чё, винда не умеет UTF-8?»
Иными словами авторы плюют в лицо всем графам, дедфудам и прочим любителям программ «изначально проектирующихся под UTF-8», тоесть дважды делают всё правильно.
Но всёже можно было заюзать CommandLineToArgW() и не мучиться.
А когда срачи поутихнут, я опубликую полный список всех идиотов, которые нашли время трындеть о том, что им шептали голоса в их пустых головах, но не нашли времени чтобы вчитаться в мои исходные посты, где проблема была обозначена лаконично, но более. чем ясно. Некоторых идиотов я даже снабжу комментариями.
Бугага. Похоже, проблему с командной строкой, о которой я писала ранее, уже исправили. Но я не могу обновиться потому что собирается рубиинсталлер через одно место и последняя версия в XP не работает при отсутствии объективных причин для этого =_=
Постигаю парсинг XML рубями. Постигать пока что нечего - примерно как у меня в XML Helper, только ещё проще. Вау!
Ruby хочет аргументы командной строки в UTF-8. Они там охренели что ли?
Какие же вы японцы непостижимые.
– Американский японец японскому японцу в фильме "Брат якудзы"
Читаю про строковые операции - мозг взрывает покруче, чем в JavaScript.
str[start, length] > new_str or nil
For the start and range cases the starting index is just before a character and an index matching the string’s size.
http://ruby-doc.org/core-2.2.2/String.html
Иными словами, первый символ в строке, он даже не нулевой, а минус первый. Хотя, помня, что автор - японец...
Офигеть!
if index.even? then
что означает запись вида @input.skip(/vasya\n/) в Ruby?
$ betty whats the meaning of life
Betty: 42.
http://www.webupd8.org/2014/05/betty-is-like-siri-or-google-now-for.html |
https://github.com/pickhardt/betty