ライブラリ
- ビルトイン (443)
- csv (33)
-
fiddle
/ import (22) -
json
/ add / ostruct (11) -
json
/ add / struct (11) - ostruct (103)
-
rexml
/ document (44) - socket (11)
クラス
- Addrinfo (11)
- Array (16)
- CSV (33)
- Data (4)
-
Fiddle
:: CStruct (11) - OpenStruct (103)
-
REXML
:: Instruction (33) - Range (11)
-
RubyVM
:: InstructionSequence (33) - Struct (327)
- TracePoint (6)
モジュール
-
Fiddle
:: Importer (11) - ObjectSpace (44)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - == (11)
- Data (2)
-
Data
_ Make _ Struct (11) -
Data
_ Wrap _ Struct (11) - Instruction (11)
- Marshal フォーマット (11)
-
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 2 . 0 (10) -
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) -
NEWS for Ruby 3
. 1 . 0 (3) - OpenStruct (11)
- Ruby用語集 (11)
- [] (33)
- []= (22)
- compile (11)
-
compile
_ option= (11) - content (11)
- convert (33)
- deconstruct (2)
-
deconstruct
_ keys (2) - dig (18)
- each (22)
-
each
_ object (44) -
each
_ pair (44) - eql? (11)
- equal? (11)
- fiddle (11)
- filter (12)
- hash (11)
- inspect (11)
-
instruction
_ sequence (6) -
json
_ create (11) -
keyword
_ init? (3) - length (11)
- members (22)
-
new
_ blktag (11) -
new
_ dvar (11) -
new
_ ostruct _ member (11) - pack (16)
-
rb
_ time _ timespec _ new (9) -
rexml
/ document (11) -
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 2 feature (11) -
ruby 1
. 9 feature (11) - select (22)
- size (11)
- target (11)
-
to
_ a (11) -
to
_ h (34) -
to
_ json (11) -
to
_ s (11) - typealias (11)
- values (11)
-
values
_ at (11) - yaml (11)
-
yaml
/ store (11)
検索結果
先頭5件
-
ObjectSpace
. # each _ object(klass) -> Enumerator (36.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
...st[例: 任意のクラスを扱う][ruby]{
Person = Struct.new(:name)
s1 = Person.new("tanaka")
s2 = Person.new("sato")
count = ObjectSpace.each_object(Person) { |x| p x }
puts "Total count: #{count}"
# => #<struct Person name="sato">
# => #<struct Person name="tanaka">
# => Total count: 2
//}... -
ObjectSpace
. # each _ object(klass) {|object| . . . } -> Integer (36.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
...st[例: 任意のクラスを扱う][ruby]{
Person = Struct.new(:name)
s1 = Person.new("tanaka")
s2 = Person.new("sato")
count = ObjectSpace.each_object(Person) { |x| p x }
puts "Total count: #{count}"
# => #<struct Person name="sato">
# => #<struct Person name="tanaka">
# => Total count: 2
//}... -
yaml (30.0)
-
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
...35,
"birthday" => Date.new(1970, 1, 1)
}
str_r["Suzuki Suneo"] = {
"age" => 13,
"birthday" => Date.new(1992, 12, 21)
}
p str_r == YAML.load(str_l) # => true
//}
//emlist[例3: 構造化されたログ][ruby]{
require 'yaml'
require 'stringio'
strio_r = StringIO.new(<<~YAML_EOT)
---
tim......ト
* !ruby/regexp: Regexp オブジェクト
* !ruby/range: Range オブジェクト
* !ruby/string: String オブジェクト
* !ruby/struct: Struct オブジェクト
* !ruby/sym(もしくは !ruby/symbol): Symbol オブジェクト
* !ruby/encoding: Encoding オブジェクト
* !ruby/ex... -
CSV
# convert {|field , field _ info| . . . } (24.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
...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]{
require "csv"
csv = CSV.new("date1,date2\n2018-07-09......o |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="date2">
# => #<CSV::Row "date1":#<Date: 2018-07-09 ((2458309j,0s,0... -
CSV
# convert {|field| . . . } (24.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
...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]{
require "csv"
csv = CSV.new("date1,date2\n2018-07-09......o |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="date2">
# => #<CSV::Row "date1":#<Date: 2018-07-09 ((2458309j,0s,0... -
CSV
# convert(name) (24.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
...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]{
require "csv"
csv = CSV.new("date1,date2\n2018-07-09......o |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="date2">
# => #<CSV::Row "date1":#<Date: 2018-07-09 ((2458309j,0s,0... -
Data (24.0)
-
「値オブジェクト(value object)」の定義に利用できるクラスです。
... Struct があります。Struct はメンバの書き換えや列挙が可能であるなど、
よりコンテナ風の API を提供するクラスです。
//emlist[例][ruby]{
# Dogクラスを定義
Dog = Data.define(:name, :age)
# Dogクラスのインスタンスを作成
fred = Dog.new("F......red", 5)
# メンバにアクセスできる
p fred.name # => "Fred"
# キーワード引数でも構築できる
p Dog.new(name: "Terry", age: 3)
# メンバの値を書き換えることはできない
fred.age = 6 # => NoMethodError
//}
なお、Ruby 2.7 以前に存在し Ruby 3.0 で削除... -
Ruby用語集 (12.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...長引数」という用語の
ほうが普及している。
英語の variadic は形容詞である。
: 空
: empty
Array や Hash、Struct のような要素を持つクラスでは、要素が無いことを
「空(から)」と呼ぶ。
また、String クラスでは、長......文字としては特別扱いされない。
ただしパス名には使えず、ヌル文字を含んだ文字列を File.open や
Pathname.new に与えると ArgumentError が発生する。
他の言語では文字列の終端を意味することがあるので、文字列データ......esting
制御構造、ブロックや、クラス・モジュール・メソッドなどの定義の入れ子。
===[a:ha] は
: 破壊的
: destructive
レシーバーに影響を与えるメソッドは「破壊的」であると呼ばれる。
例えば文字列オブジェクトにつ... -
fiddle (12.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
...oid *, void *)')
Timeval = struct( ["long tv_sec",
"long tv_usec"])
end
timeval = M::Timeval.malloc
e = M.gettimeofday(timeval, nil)
if e == 0
p timeval.tv_sec #=> 1173519547
end
上の例で、メモリの割り当てに M::Timeval.new ではなく
M::Timeval.mal... -
Array
# pack(template) -> String (7.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00".unpack("p") # => [nil]
//}
: 構造体のアドレス
例えば、
//emlist{
struct {
int a;
short b;
long c;
} v = {1,2,3};
//}
を表す文字列は
//emlist[][ruby]{
v = [1,2,3].pack("i!s!...