Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Буфер вывода в Ruby? Ruby ob_handler like in PHP 
V
    Опции темы
Drkwv
Дата 8.2.2009, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 21.3.2006

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



Код

arr = ["Нас","нужно","показать"]
p arr


Как сделать то же самое, но пропустить результат работы "p" через iconv, чтобы распечатка массива нормально отображалась  в кодировке 866 в windows-консоли?


Я пробовал вот это, но не получилось:
Код

irb(main):001:0> str = ""
=> ""
irb(main):002:0> arr = ["слова на русском","языке"]
=> ["\341\253\256\242\240 \255\240 \340\343\341\341\252\256\254", "\357\247\353\
252\245"]
irb(main):003:0> str.p arr
NoMethodError: private method `p' called for "":String
        from (irb):3
irb(main):004:0> str.puts arr
NoMethodError: private method `puts' called for "":String
        from (irb):4
        from :0
irb(main):005:0> exit


Это сообщение отредактировал(а) Drkwv - 9.2.2009, 20:11
PM MAIL   Вверх
Drkwv
Дата 11.2.2009, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 21.3.2006

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



Ruby ob_start just like in PHP: ^_^ (жалкая пародия собственного сочинения, иллюстрирующая способ буферизации вывода в руби)

Код

require "stringio"

class OB
  #@new_io
  #@old_io

  def self.start
    @new_io = StringIO.new
    @old_io = $stdout
    $stdout = @new_io
  end

  def self.get_clean
    $stdout = @old_io
    @new_io.rewind
    @new_io.read
  end

end

OB.start
p [1,2,"33"]
str = OB.get_clean

puts "who borrowed a knife?"
puts str

PM MAIL   Вверх
kronos_vano
Дата 12.2.2009, 05:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 13.7.2007

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



Интересно, зачем это могло понадобиться?
PM MAIL   Вверх
Drkwv
Дата 12.2.2009, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 21.3.2006

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



Цитата(Drkwv @ 8.2.2009,  15:23)
чтобы распечатка массива нормально отображалась в кодировке 866 в windows-консоли


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

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

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


 




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


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

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