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
Кириллица в Ruby (консоль)
Ответ на вопрос:
[окошко "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])Написал программу, переводящую градусы Цельсия в Фаренгейты, и наоборот. Все работает, но вместо русского языка в консоли выводятся букозябы.
Код:
Вывод:
Код:
Пожалуйста, введите температуру и шкалу (C или F): 23 F
-5.0 градусов C
-5.0 градусов C
Погуглил, в итоге нашел два способа решения:
Первый
Цитата:
Код:
$KCODE = 'u'
require 'jcode'
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'
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 - это какая-то библиотека для отрисовки графики. Вопрос в том, где ее скачать. И как использовать.
Уже неактуально.