extend: Enumerable
Readline::HISTORY を使用してヒストリにアクセスできます。 Enumerable モジュールを extend しており、 Array クラスのように振る舞うことができます。例えば、HISTORY[4] により 5 番目に入力した内容を取り出すことができます。
self << string -> self
[permalink][rdoc]ヒストリの最後に string で指定した文字列を追加します。 self を返します。
例: "foo"を追加する。
require "readline" Readline::HISTORY << "foo" p Readline::HISTORY[-1] #=> "foo"
例: "foo"、"bar"を追加する。
require "readline" Readline::HISTORY << "foo" << "bar" p Readline::HISTORY[-1] #=> "bar" p Readline::HISTORY[-2] #=> "foo"
[SEE_ALSO] Readline::HISTORY.push
self[index] -> String
[permalink][rdoc]ヒストリから index で指定したインデックスの内容を取得します。例えば index に 0 を指定すると最初の入力内容が取得できます。また、 -1 は最後の入力内容というように、index に負の値を指定することで、最後から入力内容を取得することもできます。
例:
require "readline" Readline::HISTORY[0] #=> 最初の入力内容 Readline::HISTORY[4] #=> 5番目の入力内容 Readline::HISTORY[-1] #=> 最後の入力内容 Readline::HISTORY[-5] #=> 最後から5番目の入力内容
例: 1000000 番目の入力内容が存在しない場合、例外 IndexError が発生します。
require "readline" Readline::HISTORY[1000000] #=> 例外 IndexError が発生します。
例: 32 bit のシステムの場合、例外 RangeError が発生します。
require "readline" Readline::HISTORY[2 ** 32 + 1] #=> 例外 RangeError が発生します。
例: 64 bit のシステムの場合、例外 RangeError が発生します。
require "readline" Readline::HISTORY[2 ** 64 + 1] #=> 例外 RangeError が発生します。
self[index] = string
[permalink][rdoc]ヒストリの index で指定したインデックスの内容を string で指定した文字列で書き換えます。例えば index に 0 を指定すると最初の入力内容が書き換えます。また、 -1 は最後の入力内容というように、index に負の値を指定することで、最後から入力内容を取得することもできます。指定した string を返します。
clear -> self
[permalink][rdoc]ヒストリの内容をすべて削除して空にします。
delete_at(index) -> String | nil
[permalink][rdoc]index で指定したインデックスの内容をヒストリから削除し、その内容を返します。該当する index の内容がヒストリになければ、 nil を返します。 index に 0 を指定すると Readline::HISTORY.shift と同様に最初の入力内容を削除します。また、 -1 は最後の入力内容というように、index に負の値を指定することで、最後から入力内容を取得することもできます。 index が -1 の場合は Readline::HISTORY.pop と同様に動作します。
例:
require "readline" Readline::HISTORY.push("foo", "bar", "baz") Readline::HISTORY.delete_at(1) p Readline::HISTORY.to_a #=> ["foo", "baz"]
each -> Enumerator
[permalink][rdoc]each {|string| ... }
ヒストリの内容に対してブロックを評価します。ブロックパラメータにはヒストリの最初から最後までの内容を順番に渡します。
例: ヒストリの内容を最初から順番に出力する。
require "readline" Readline::HISTORY.push("foo", "bar", "baz") Readline::HISTORY.each do |s| p s #=> "foo", "bar", "baz" end
例: Enumerator オブジェクトを返す場合。
require "readline" Readline::HISTORY.push("foo", "bar", "baz") e = Readline::HISTORY.each e.each do |s| p s #=> "foo", "bar", "baz" end
empty? -> bool
[permalink][rdoc]ヒストリに格納された内容の数が 0 の場合は true を、そうでない場合は false を返します。
例:
require "readline" p Readline::HISTORY.empty? #=> true Readline::HISTORY.push("foo", "bar", "baz") p Readline::HISTORY.empty? #=> false
[SEE_ALSO] Readline::HISTORY.length
length -> Integer
[permalink][rdoc]size -> Integer
ヒストリに格納された内容の数を取得します。
例: ヒストリの内容を最初から順番に出力する。
require "readline" Readline::HISTORY.push("foo", "bar", "baz") p Readline::HISTORY.length #=> 3
[SEE_ALSO] Readline::HISTORY.empty?
pop -> String
[permalink][rdoc]ヒストリの最後の内容を取り出します。最後の内容は、ヒストリから取り除かれます。
例:
require "readline" Readline::HISTORY.push("foo", "bar", "baz") p Readline::HISTORY.pop #=> "baz" p Readline::HISTORY.pop #=> "bar" p Readline::HISTORY.pop #=> "foo"
[SEE_ALSO] Readline::HISTORY.push、Readline::HISTORY.shift、 Readline::HISTORY.delete_at
push(*string) -> self
[permalink][rdoc]ヒストリの最後に string で指定した文字列を追加します。複数の string を指定できます。 self を返します。
例: "foo"を追加する。
require "readline" Readline::HISTORY.push("foo") p Readline::HISTORY[-1] #=> "foo"
例: "foo"、"bar"を追加する。
require "readline" Readline::HISTORY.push("foo", "bar") p Readline::HISTORY[-1] #=> "bar" p Readline::HISTORY[-2] #=> "foo"
[SEE_ALSO] Readline::HISTORY.<<
shift -> String
[permalink][rdoc]ヒストリの最初の内容を取り出します。最初の内容は、ヒストリから取り除かれます。
例:
require "readline" Readline::HISTORY.push("foo", "bar", "baz") p Readline::HISTORY.shift #=> "foo" p Readline::HISTORY.shift #=> "bar" p Readline::HISTORY.shift #=> "baz"
[SEE_ALSO] Readline::HISTORY.push、Readline::HISTORY.pop、 Readline::HISTORY.delete_at
to_s -> "HISTORY"
[permalink][rdoc]文字列"HISTORY"を返します。
例:
require 'readline' Readline::HISTORY.to_s #=> "HISTORY"