Project

General

Profile

Actions

Feature #3073

closed

io/console

Added by nobu (Nobuyoshi Nakada) over 14 years ago. Updated over 13 years ago.

Status:
Closed
Target version:
[ruby-dev:40897]

Description

=begin
なかだです。

拡張ライブラリio/consoleの取り込みをリクエストします。

http://www.rubyist.net/~nobu/ruby/io-console-0.2.gem
http://www.rubyist.net/~nobu/ruby/io-console-20080905.tar.bz2

readlineやcursesまでは必要はないけれど、単なるgetsやgetcでは困る
という場合に便利です。こういう機能は、結構質問が出る割には、シス
テム依存で面倒なことになります。highlineなどのより高機能なgemも
ありますが、実際には中ではsttyを呼んでいたりしてポータブルではあ
りません。io/consoleはこういったライブラリにポータブルな下位層を
提供することもできます。

以下のようなメソッドが提供されます。

IO#noecho
IO#noecho {|io| }
IO#raw
IO#raw {|io| }
IO#getch
IO#winsize
IO.console #=> IO for console device

--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦
=end

Actions #1

Updated by nobu (Nobuyoshi Nakada) over 14 years ago

=begin
なかだです。

At Thu, 1 Apr 2010 10:05:46 +0900,
Tanaka Akira wrote in [ruby-dev:40900]:

IO#raw

raw の意味に noecho は含まれますか?

含まれます。

IO#noecho {|io| }
IO#raw {|io| }

ブロック引数の io はなんですか?

ioインスタンス自身を渡します。Symbol#to_procと組み合わせれば
STDIN.noecho(&:gets) でエコーバックなしの一行入力になります。

IO#getch

返り値は文字と byte のどちらでしょう?

これは raw(&:getc) と等価なので、1.9では文字が帰ります。

--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦

=end

Actions #2

Updated by yugui (Yuki Sonoda) over 14 years ago

=begin
2010/4/1 Nobuyoshi Nakada :

拡張ライブラリio/consoleの取り込みをリクエストします。

あぁ。これは良いですね。賛成します。

なお、言うまでもないですが期限を過ぎているので1.9.2には取り込みません。
すみませんが、コミットするとしてもruby_1_9_2が分岐するまで待ってください。

--
Yuki Sonoda (Yugui)

http://yugui.jp

=end

Actions #3

Updated by naruse (Yui NARUSE) over 14 years ago

  • Category set to lib
  • Status changed from Open to Assigned
  • Assignee set to nobu (Nobuyoshi Nakada)
  • Priority changed from 3 to Normal
  • Target version set to 2.0.0

=begin

=end

Actions #4

Updated by nobu (Nobuyoshi Nakada) over 14 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r27668.
Nobuyoshi, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0