ライブラリ
- ビルトイン (60)
- csv (48)
-
irb
/ input-method (24) - readline (84)
- zlib (24)
クラス
- CSV (48)
- IO (12)
-
IRB
:: ReadlineInputMethod (24) -
Zlib
:: GzipReader (24)
オブジェクト
-
Readline
:: HISTORY (24)
キーワード
-
$ _ (12) -
$ stdin (12) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 1 . 0 (4) -
completion
_ append _ character (12) -
completion
_ append _ character= (12) -
completion
_ proc= (12) - each (24)
- eof? (12)
- gets (24)
- irb (12)
-
readable
_ atfer _ eof? (12) - readline (48)
- readlines (24)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) - seek (12)
- shift (12)
検索結果
先頭5件
-
Readline (38112.0)
-
GNU Readline によるコマンドライン入力インタフェースを提供するモジュールです。
...GNU Readline によるコマンドライン入力インタフェースを提供するモジュールです。
GNU Readline 互換ライブラリのひとつである Edit Line(libedit) もサポートしています。
* https://directory.fsf.org/wiki/Readline
* https://thrysoee.dk/editline/......ne.readline を使用してユーザからの入力を取得できます。
このとき、 GNU Readline のように入力の補完や
Emacs のようなキー操作などができます。
例: プロンプト"> "を表示して、ユーザからの入力を取得する。
require 'readline'......while buf = Readline.readline("> ", true)
print("-> ", buf, "\n")
end
ユーザが入力した内容を履歴(以下、ヒストリ)として記録することができます。
定数 Readline::HISTORY を使用して入力履歴にアクセスできます。
例えば、Readline::HISTORY.t... -
Readline
. # readline(prompt = "" , add _ hist = false) -> String | nil (27329.0) -
prompt を出力し、ユーザからのキー入力を待ちます。 エンターキーの押下などでユーザが文字列を入力し終えると、 入力した文字列を返します。 このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。 何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、 ユーザからの入力がない場合は nil を返します。
...:
require "readline"
input = Readline.readline
(プロンプトなどは表示せずに、入力待ちの状態になります。
ここでは「abc」を入力後、エンターキーを押したと想定します。)
abc
p input # => "abc"
input = Readline.readline("> ")
(">"......p input # => "ls"
input = Readline.readline("> ", true)
(">"を表示し、入力待ちの状態になります。
ここでは「cd」を入力後、エンターキーを押したと想定します。)
> cd
p input # => "cd"
input = Readline.readline("> ", true)
(">"を表示......る。
require 'readline'
stty_save = `stty -g`.chomp
begin
while buf = Readline.readline
p buf
end
rescue Interrupt
system("stty", stty_save)
exit
end
例: INTシグナルを捕捉して、端末状態を復帰する。
require 'readline'
stty_save = `stty... -
Readline
. completion _ append _ character=(string) (27148.0) -
ユーザの入力の補完が完了した場合に、最後に付加する文字 string を指定します。
...などの単語を区切る文字を指定すれば、
連続して入力する際に便利です。
require 'readline'
Readline.readline("> ", true)
Readline.completion_append_character = " "
> /var/li
ここで補完(TABキーを押す)を行う。
> /var/lib
最後に" "が追加......ることはできないため、
例えば、"string"を指定した場合は最初の文字である"s"だけを使用します。
require 'readline'
Readline.completion_append_character = "string"
p Readline.completion_append_character # => "s"
@see Readline.completion_append_character... -
Readline
. completion _ append _ character -> String (27106.0) -
ユーザの入力の補完が完了した場合に、最後に付加する文字を取得します。
...ユーザの入力の補完が完了した場合に、最後に付加する文字を取得します。
@raise NotImplementedError サポートしていない環境で発生します。
@see Readline.completion_append_character=... -
Readline
. completion _ proc=(proc) (21042.0) -
ユーザからの入力を補完する時の候補を取得する Proc オブジェクト proc を指定します。 proc は、次のものを想定しています。 (1) callメソッドを持つ。callメソッドを持たない場合、例外 ArgumentError を発生します。 (2) 引数にユーザからの入力文字列を取る。 (3) 候補の文字列の配列を返す。
...補完を行うと、
デフォルトでは proc の引数に「/v」が渡されます。
このように、ユーザが入力した文字列を
Readline.completer_word_break_characters に含まれる文字で区切ったものを単語とすると、
カーソルがある単語の最初の文字......。
例: foo、foobar、foobazを補完する。
require 'readline'
WORDS = %w(foo foobar foobaz)
Readline.completion_proc = proc {|word|
WORDS.grep(/\A#{Regexp.quote word}/)
}
while buf = Readline.readline("> ")
print "-> ", buf, "\n"
end
@see Readline.completion_proc... -
Kernel
. # readline(rs = $ / ) -> String (6149.0) -
ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
...生します。
@raise EOFError readline でファイル末端(EOF)を検出すると発生します。
//emlist[例][ruby]{
# ---main.rb---
ARGV << 'b.txt' << 'c.txt'
p readline #=> "hello\n"
p readline(nil) #=> "it\ncommon\n"
p readline("") #=> "ARGF\n\n"
p readline('、') #=> "スクリプトに......した引数 (Object::ARGV を参照) をファイル名と\nみなして、"
p readline #=> "それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。 \n"
p readline # end of file reached (EOFError)
# --- b.txt ---
hello
it
common
# --- c.txt ---
ARGF
#......スクリプトに指定した引数 (Object::ARGV を参照) をファイル名と
# みなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。
//}
@see $/,ARGF,Kernel.#readlines,Kernel.#gets... -
Zlib
:: GzipReader # readline(rs = $ / ) -> String (6147.0) -
IO クラスの同名メソッドIO#readlineと同じです。
...IO クラスの同名メソッドIO#readlineと同じです。
但し、gzip ファイル中に
エラーがあった場合 Zlib::Error 例外や
Zlib::GzipFile::Error 例外が発生します。
gzip ファイルのフッターの処理に注意して下さい。
gzip ファイルのフッター......pWriter.open('hoge.gz') { |gz|
gz.puts 'hoge'
gz.puts 'fuga'
}
=end
Zlib::GzipReader.open('hoge.gz') { |gz|
begin
puts gz.readline
rescue EOFError => err
puts err
break
end while true
}
#=> hoge
#=> fuga
#=> end of file reached
@see IO#readline... -
Zlib
:: GzipReader # readlines(rs = $ / ) -> Array (6106.0) -
IO クラスの同名メソッドIO#readlinesと同じです。
...IO クラスの同名メソッドIO#readlinesと同じです。
但し、gzip ファイル中に
エラーがあった場合 Zlib::Error 例外や
Zlib::GzipFile::Error 例外が発生します。
gzip ファイルのフッターの処理に注意して下さい。
gzip ファイルのフッター......rを参照
require 'zlib'
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
gz.puts 'hoge'
gz.puts 'fuga'
}
=end
Zlib::GzipReader.open('hoge.gz') { |gz|
p gz.readlines #=> ["hoge\n", "fuga\n"]
}
@see IO#readlines... -
CSV
# readline -> Array | CSV :: Row (3119.0) -
String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。
...しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "row1_2"]
__END__
header1,header2
row1_1,row1_2
//}...