Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Кириллица в Ruby (консоль)

15K
04 марта 2010 года
Ybr
31 / / 19.03.2007
==================================================
Ответ на вопрос:
[окошко "Projects"]->ПКМ на названии вашего проекта->Properties->Sources [в открывшемся окне, слева]->Encoding [выпадающее меню в самом низу]->[выбрать интересующую кодировку. Я выбрал Windows-1251].
Если чего непонятно, идите в справку [Help->Help Contents->Search], поиск по слову "encoding". Вас интересует ссылка с названием, типа "About Project Encodings", раздел "To change the character encoding for a project:".
==================================================
Здравствуйте!
Начал изучать Ruby. Уже имею некоторый опыт программирования на C++ и Delphi.
После того, как прочитал обзор основных возможностей Ruby, решил начать писать свои программы, не бросая при этом чтение книги, разумеется.
Прежде всего, очень долго выбирал IDE. В итоге остановился на NetBeans IDE 6.8 (один из немногих, как я понял, который поддерживает чистый Ruby, а не RoR).

Ну, ближе к делу. ([SIZE="1"]Скопипастил из книги[/SIZE])Написал программу, переводящую градусы Цельсия в Фаренгейты, и наоборот. Все работает, но вместо русского языка в консоли выводятся букозябы.
Код:
print "Пожалуйста, введите температуру и шкалу (C или F): "
str = gets
exit if str.nil? or str.empty?
str.chomp!
temp, scale = str.split(" ")

abort "#{temp} - это недопустимое число." if temp !~ /-?\d+/

temp = temp.to_f
case scale
  when "C", "c"
     f = 1.8*temp + 32
  when "F", "f"
     c = (5.0/9.0)*(temp-32)
else
  abort "Вы должны были ввести C или F."
end

if f.nil?
  print "#{c} градусов C\n"
else
  print "#{f} градусов F\n"
end

Вывод:
 
Код:
Пожалуйста, введите температуру и шкалу (C или F): 23 F
-5.0 градусов C


Погуглил, в итоге нашел два способа решения:
Первый
Цитата:

 
Код:
$KCODE = 'u'
require 'jcode'

включает "юникод-режим" для ряда методов (они начинают работать с символами): chop!, chop, delete!, delete, squeeze!, squeeze, succ!, succ, tr!, tr, tr_s!, и tr_s.


[SIZE="1"]Источник: http://ru.wikibooks.org/wiki/RubyHammer/FAQ[/SIZE]

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

Цитата:

Написать в начале программы следующие строки:
 
Код:
$KCODE = 'u'
require 'gtk2'


[SIZE="1"]Источник: http://ruby-gnome2.sourceforge.jp/hiki.cgi?tips_i18n[/SIZE]

В результате получилась ошибка:

Цитата:

C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- gtk2 (LoadError)


Погуглил. Разобрался, что gtk2 - это какая-то библиотека для отрисовки графики. Вопрос в том, где ее скачать. И как использовать.

15K
04 марта 2010 года
Ybr
31 / / 19.03.2007
Уже неактуально.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог