Feature #3073

io/console

Added by Nobuyoshi Nakada over 5 years ago. Updated over 4 years ago.

[ruby-dev:40897]
Status:Closed
Priority:Normal
Assignee:Nobuyoshi Nakada

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

History

#1 Updated by Nobuyoshi Nakada over 5 years ago

=begin
なかだです。

At Thu, 1 Apr 2010 10:05:46 +0900,
Tanaka Akira wrote in :

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

#2 Updated by Yuki Sonoda over 5 years ago

=begin
2010/4/1 Nobuyoshi Nakada nobu@ruby-lang.org:

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

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

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

--
Yuki Sonoda (Yugui)
yugui@yugui.jp
http://yugui.jp

=end

#3 Updated by Yui NARUSE over 5 years ago

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

=begin

=end

#4 Updated by Nobuyoshi Nakada about 5 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

Also available in: Atom PDF