Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кириллица в Ruby (консоль), Букозябы 
V
    Опции темы
Ybr
  Дата 4.3.2010, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 4.3.2010
Где: Москва

Репутация: нет
Всего: нет



==================================================
Ответ на вопрос:
[окошко "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).

Ну, ближе к делу. Скопипастил из книгиНаписал программу, переводящую градусы Цельсия в Фаренгейты, и наоборот. Все работает, но вместо русского языка в консоли выводятся букозябы.
Код

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.

Источник: http://ru.wikibooks.org/wiki/RubyHammer/FAQ

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

Написать в начале программы следующие строки:
Код

$KCODE = 'u'
require 'gtk2'


Источник: http://ruby-gnome2.sourceforge.jp/hiki.cgi?tips_i18n

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

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 - это какая-то библиотека для отрисовки графики. Вопрос в том, где ее скачать. И как использовать.

Это сообщение отредактировал(а) Ybr - 4.3.2010, 21:31
PM MAIL   Вверх
Ybr
Дата 4.3.2010, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 4.3.2010
Где: Москва

Репутация: нет
Всего: нет



Уже неактуально.
PM MAIL   Вверх
source777
Дата 4.3.2010, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 6
Всего: 56



Очередная проблема для Windows-юзеров, впрочем кодировки это ещё цветочки. smile 
Поставьте себе GNU/Linux или MacOS X и ваше кол-во проблем с Ruby в целом и c RoR в частности сократится в пару десятков раз...


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.