別のキーワード
クラス
- CSV (36)
-
CSV
:: FieldInfo (36) -
JSON
:: Parser (24) -
Net
:: HTTPGenericRequest (12) - Object (30)
- OptionParser (12)
-
Ripper
:: Filter (12)
モジュール
- Kernel (12)
-
OptionParser
:: Arguable (12)
キーワード
- JSON (12)
-
body
_ stream (12) - convert (36)
- header (12)
- index (12)
- line (12)
- reject (12)
- source (12)
- then (14)
-
yield
_ self (16)
検索結果
先頭5件
-
JSON
:: Parser # parse -> object (24352.0) -
現在のソースをパースして結果を Ruby のオブジェクトとして返します。
...果を Ruby のオブジェクトとして返します。
//emlist[例][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
pers......on.class # => Person
person.name # => "tanaka"
person.age # => 20
__END__
{
"name":"tanaka",
"age":20
}
//}
@see JSON::Parser#source... -
Ripper
:: Filter # parse(init = nil) -> object (21434.0) -
自身の持つ Ruby プログラムの解析を開始します。各種イベントハンドラで処 理を行った結果を返します。
...自身の持つ Ruby プログラムの解析を開始します。各種イベントハンドラで処
理を行った結果を返します。
@param init 任意の値を指定できます。この値がイベントハンドラに渡されていきます。
引数 init を初期値としてイベ......ントハンドラに渡されていきます。各種イベン
トハンドラの戻り値は次のイベントハンドラに渡されます。
Enumerable#inject のように、最終的な結果を戻り値として返します。
@see Ripper::Filter#on_default, Ripper::Filter#on_XXX... -
OptionParser
# reject(klass) -> () (15249.0) -
OptionParser#accept で登録したクラスとブロックを 自身から削除します。
...ptionParser#accept で登録したクラスとブロックを
自身から削除します。
@param klass 自身から削除したいクラスを指定します。
//emlist[例][ruby]{
require "optparse"
require "time"
def parse(option_parser)
option_parser.on("-t", "--time [TIME]", Time) do |t......p time.class
end
option_parser.parse(ARGV)
end
opts = OptionParser.new
opts.accept(Time) do |s,|
begin
Time.parse(s) if s
rescue
raise OptionParser::InvalidArgument, s
end
end
parse(opts) # => Time
opts.reject(Time)
parse(opts) # => unsupported argument type: Time (ArgumentErr... -
OptionParser
:: Arguable # options {|opt| . . . } -> object | nil (12219.0) -
自身をパースするための OptionParser オブジェクトを返します。 初回呼び出し時に自動的に生成されます。 この OptionParser#default_argv には self がセットされています。
...身をパースするための OptionParser オブジェクトを返します。
初回呼び出し時に自動的に生成されます。
この OptionParser#default_argv には self がセットされています。
ブロックを与えた場合は、OptionParser を引数としてブロック......行途中で OptionParser::ParseError
が発生した場合は、全て rescue し、エラーメッセージを出力し、
nil を返します。
//emlist[][ruby]{
require 'optparse'
o = nil
ARGV.options{|opt|
opt.on('-a'){ o = true }
opt.parse!
}
p o #=> true
//}... -
Object
# then {|x| . . . } -> object (9243.0) -
self を引数としてブロックを評価し、ブロックの結果を返します。
...emlist[例][ruby]{
3.next.then {|x| x**x }.to_s # => "256"
"my string".yield_self {|s| s.upcase } # => "MY STRING"
//}
値をメソッドチェインのパイプラインに次々と渡すのは良い使い方です。
//emlist[メソッドチェインのパイプライン][ruby]{
re......require 'json'
construct_url(arguments).
yield_self {|url| URI(url).read }.
yield_self {|response| JSON.parse(response) }
//}
ブロックなしで呼び出されたときは Enumerator を返します。
例えば条件によって値を捨てるのに使えます。
//emlist[][ruby]{
# 条......件にあうので何もしない
1.yield_self.detect(&:odd?) # => 1
# 条件に合わないので値を捨てる
2.yield_self.detect(&:odd?) # => nil
//}
@see Object#tap... -
Object
# then -> Enumerator (9143.0) -
self を引数としてブロックを評価し、ブロックの結果を返します。
...emlist[例][ruby]{
3.next.then {|x| x**x }.to_s # => "256"
"my string".yield_self {|s| s.upcase } # => "MY STRING"
//}
値をメソッドチェインのパイプラインに次々と渡すのは良い使い方です。
//emlist[メソッドチェインのパイプライン][ruby]{
re......require 'json'
construct_url(arguments).
yield_self {|url| URI(url).read }.
yield_self {|response| JSON.parse(response) }
//}
ブロックなしで呼び出されたときは Enumerator を返します。
例えば条件によって値を捨てるのに使えます。
//emlist[][ruby]{
# 条......件にあうので何もしない
1.yield_self.detect(&:odd?) # => 1
# 条件に合わないので値を捨てる
2.yield_self.detect(&:odd?) # => nil
//}
@see Object#tap... -
Kernel
# JSON(object , options = {}) -> object (6263.0) -
第一引数に与えられたオブジェクトの種類によって Ruby のオブジェクトか JSON 形式の文字列を返します。
... Ruby のオブジェクトか JSON 形式の文字列を返します。
第一引数に文字列のようなオブジェクトを指定した場合は、それを JSON.#parse を用いてパースした結果を返します。
そうでないオブジェクトを指定した場合は、それを J......SON.#generate を用いて変換した結果を返します。
@param object 任意のオブジェクトを指定します。
@param options JSON.#parse, JSON.#generate に渡すオプションを指定します。
//emlist[例][ruby]{
require "json"
JSON('[1,2,{"name":"tanaka","age":19}]')
# =>......[1, 2, {"name"=>"tanaka", "age"=>19}]
JSON('[1,2,{"name":"tanaka","age":19}]', symbolize_names: true)
# => [1, 2, {:name=>"tanaka", :age=>19}]
//}
@see JSON.#parse, JSON.#generate... -
Object
# yield _ self {|x| . . . } -> object (6243.0) -
self を引数としてブロックを評価し、ブロックの結果を返します。
...emlist[例][ruby]{
"my string".yield_self {|s| s.upcase } # => "MY STRING"
3.next.yield_self {|x| x**x }.to_s # => "256"
//}
値をメソッドチェインのパイプラインに次々と渡すのは良い使い方です。
//emlist[メソッドチェインのパイプライン][ruby]{
re......require 'json'
construct_url(arguments).
yield_self {|url| URI(url).read }.
yield_self {|response| JSON.parse(response) }
//}
ブロックなしで呼び出されたときは Enumerator を返します。
例えば条件によって値を捨てるのに使えます。
//emlist[][ruby]{
# 条......件にあうので何もしない
1.yield_self.detect(&:odd?) # => 1
# 条件に合わないので値を捨てる
2.yield_self.detect(&:odd?) # => nil
//}
@see Object#tap......emlist[例][ruby]{
3.next.then {|x| x**x }.to_s # => "256"
"my string".yield_self {|s| s.upcase } # => "MY STRING"
//}
値をメソッドチェインのパイプラインに次々と渡すのは良い使い方です。
//emlist[メソッドチェインのパイプライン][ruby]{
re... -
Net
:: HTTPGenericRequest # body _ stream -> object (6219.0) -
サーバに送るリクエストのエンティティボディを IO オブジェクトなどのストリームで設定します。 f は read(size) メソッドが定義されている必要があります。
...mlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
post = Net::HTTP::Post.new(uri.request_uri)
File.open("/path/to/test", 'rb') do |f|
# 大きなファイルを扱う際にメモリ消費を少なくできる
post.body_stream = f
post["Content-Length"]......= f.size
end
post.body_stream # => #<File:/path/to/test (closed)>
//}... -
CSV
# convert {|field , field _ info| . . . } (6179.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
...ルドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラ......//emlist[例 name で Converter を指定][ruby]{
require "csv"
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10")
csv.convert(:date)
csv.read # => 2018-07-09 ((2458309j,0s,0n),+0s,2299161j)>, #<Date: 2018-07-10 ((2458310j,0s,0n),+0s,2299161j)>
//}
//emlist[例 ブロックを指定][ruby]{
requ......te1,date2\n2018-07-09,2018-07-10", headers: true)
csv.convert do |field,field_info|
p field
p field_info
Date.parse(field)
end
p csv.first
# => "2018-07-09"
# => <struct CSV::FieldInfo index=0, line=2, header="date1">
# => "2018-07-10"
# => #<struct CSV::FieldInfo index=1, line=2, header="dat...