ライブラリ
- ビルトイン (112)
- csv (120)
- json (12)
- open-uri (24)
- readline (72)
-
rubygems
/ specification (12) - socket (24)
- tempfile (33)
- thread (2)
-
win32
/ registry (48)
クラス
- CSV (120)
-
Gem
:: Specification (12) - IO (36)
-
JSON
:: Parser (12) - Socket (24)
- Tempfile (33)
- Thread (66)
-
Thread
:: ConditionVariable (12) -
Win32
:: Registry (48)
キーワード
-
abort
_ on _ exception (12) -
abort
_ on _ exception= (12) - binread (12)
-
completion
_ append _ character (12) -
completion
_ append _ character= (12) -
completion
_ case _ fold (12) -
completion
_ case _ fold= (12) -
completion
_ proc (12) -
completion
_ proc= (12) -
handle
_ interrupt (12) - instance (24)
- new (71)
- open (94)
-
open
_ uri (24) -
pending
_ interrupt? (12) -
read
_ only (12) - readlines (12)
-
report
_ on _ exception (9) -
report
_ on _ exception= (9) - table (12)
- tcp (24)
- write (24)
検索結果
先頭5件
-
Readline
. completion _ append _ character=(string) (9101.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 _ case _ fold -> bool (9101.0) -
ユーザの入力を補完する際、大文字と小文字を同一視する/しないを取得します。 bool が真ならば同一視します。bool が偽ならば同一視しません。
...、Readline.completion_case_fold= メソッドで指定したオブジェクトを
そのまま取得するので、次のような動作をします。
require 'readline'
Readline.completion_case_fold = "This is a String."
p Readline.completion_case_fold # => "This is a String."
@see Readli......ne.completion_case_fold=... -
Readline
. completion _ case _ fold=(bool) (9101.0) -
ユーザの入力を補完する際、大文字と小文字を同一視する/しないを指定します。 bool が真ならば同一視します。bool が偽ならば同一視しません。
...、大文字と小文字を同一視する/しないを指定します。
bool が真ならば同一視します。bool が偽ならば同一視しません。
@param bool 大文字と小文字を同一視する(true)/しない(false)を指定します。
@see Readline.completion_case_fold... -
Readline
. completion _ proc -> Proc (9101.0) -
ユーザからの入力を補完する時の候補を取得する Proc オブジェクト proc を取得します。
...ユーザからの入力を補完する時の候補を取得する Proc オブジェクト
proc を取得します。
@see Readline.completion_proc=... -
Readline
. completion _ proc=(proc) (9101.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... -
CSV
. readlines(path , options = Hash . new) -> [Array] | CSV :: Table (6214.0) -
CSV ファイルを配列の配列にするために使います。 headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
...値を指定した場合は CSV::Table オブジェクトを返します。
@param path CSV ファイルのパスを指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると入力のエン......equire "pp"
File.write("test.csv", <<CSV)
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
CSV
pp CSV.read("test.csv")
# => [["id", "first name", "last name", "age"],
# ["1", "taro", "tanaka", "20"],
# ["2", "jiro", "suzuki", "18"],
# ["3", "am......"csv"
File.write("test.csv", <<CSV)
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
CSV
table = CSV.read("test.csv", headers: true)
p table.class # => CSV::Table
p table[0] # => #<CSV::Row "id":"1" "first name":"taro" "last name":"tanaka" "age":"20"... -
IO
. binread(path , length = nil , offset = 0) -> String | nil (6119.0) -
path で指定したファイルを open し、offset の所まで seek し、 length バイト読み込みます。
...his is line one\nThis is line two\nThis is line three\nAnd so on...\n")
IO.binread("testfile") # => "This is line one\nThis is line two\nThis is line three\nAnd so on...\n"
IO.binread("testfile", 20) # => "This is line one\nThi"
IO.binread("testfile", 20, 10) # => "ne one\nThis is......line "
//}
@see IO.read... -
JSON
:: Parser . new(source , options => {}) -> JSON :: Parser (3213.0) -
パーサを初期化します。
...e_additions
偽を指定するとマッチするクラスや ID があっても付加情報を生成しません。デフォルトは真です。
: :object_class
JSON のオブジェクトを変換するクラスを指定します。デフォルトは Hash です。
: :array_class
JSON の配......@param source パーサの元となる文字列を指定します。
@param options オプションを指定するためのハッシュです。
//emlist[例][ruby]{
require 'json'
parser = JSON::Parser.new(DATA.read)
print parser.source
# => {
# => "Tanaka": {
# => "name":"tanaka",
# =>......[ruby]{
require 'json'
class Person
attr_accessor :name, :age
def []=(key, value)
instance_variable_set("@#{key}", value)
end
end
parser = JSON::Parser.new(DATA.read, object_class: Person)
person = parser.parse
person.class # => Person
person.name # => "tanaka"
person.age # => 20
__... -
Thread
. handle _ interrupt(hash) { . . . } -> object (3019.0) -
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。
...グを引数で指定した内容に変更してブロックを
実行します。
「割り込み」とは、非同期イベントや Thread#raise や
Thread#kill、Signal.#trap(未サポート)、メインスレッドの終了
(メインスレッドが終了すると、他のスレッドも終了......l が値の Hash を指定します。
値の内容は以下のいずれかです。
: :immediate
すぐに割り込みます。
: :on_blocking
ブロッキング処理(後述)の間は割り込みが発生します。
: :never
まったく割り込みません。
「ブロ......してください。
=== 使い方
例:Thread#raise 発生のタイミングを制御する例
th = Thread.new do
Thread.handle_interrupt(RuntimeError => :never) {
begin
# 安全にリソースの割り当てが可能
Thread.handle_interrupt(RuntimeError => :immediate... -
Thread
. pending _ interrupt?(error = nil) -> bool (3013.0) -
非同期割り込みのキューが空かどうかを返します。
...します。
Thread.handle_interrupt は非同期割り込みの発生を延期させるのに使
用しますが、本メソッドは任意の非同期割り込みが存在するかどうかを確認す
るのに使用します。
本メソッドが true を返した場合、Thread.handle_interru......た例外をただちに発生させる。
def Thread.kick_interrupt_immediately
Thread.handle_interrupt(Object => :immediate) {
Thread.pass
}
end
=== 使い方
th = Thread.new{
Thread.handle_interrupt(RuntimeError => :on_blocking){
while true
...
#......if Thread.pending_interrupt?
Thread.handle_interrupt(Object => :immediate){}
end
...
end
}
}
...
th.raise # スレッド停止。
この例は以下のように記述する事もできます。
flag = true
th = Thread.new{
Thread.handle_inte...