ライブラリ
- ビルトイン (168)
- coverage (8)
- delegate (12)
- drb (12)
-
irb
/ extend-command (36) - json (48)
- psych (90)
-
rubygems
/ config _ file (12) -
rubygems
/ spec _ fetcher (12) - win32ole (12)
クラス
- Class (12)
- Coverage (8)
-
DRb
:: DRbUnknown (12) - Delegator (12)
-
Gem
:: ConfigFile (12) -
Gem
:: SpecFetcher (12) - Object (84)
- WIN32OLE (12)
モジュール
-
IRB
:: ContextExtender (12) -
IRB
:: ExtendCommandBundle (24) - JSON (48)
- Kernel (12)
- Marshal (72)
- Psych (78)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - DATA (12)
-
MAJOR
_ VERSION (12) -
MINOR
_ VERSION (12) - Marshal フォーマット (12)
-
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 3
. 0 . 0 (5) -
_ dump (12) -
_ load (12) - clone (12)
-
const
_ load (12) - debug (12)
-
def
_ extend _ command (24) - dump (24)
- dup (12)
-
install
_ extend _ commands (12) - irb (12)
-
load
_ documents (8) -
load
_ file (36) -
load
_ file! (12) -
load
_ specs (12) -
load
_ stream (24) -
marshal
_ dump (12) -
marshal
_ load (24) - reload (12)
-
require
_ relative (12) - restore (24)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) -
safe
_ load (19) - start (8)
- yaml (12)
-
yaml
_ tag (12)
検索結果
先頭5件
- Psych
. load(yaml , filename = nil , fallback: false , symbolize _ names: false) -> object - Psych
. load(yaml , filename: nil , fallback: false , symbolize _ names: false) -> object - Psych
. load(yaml , filename = nil , fallback: false , symbolize _ names: false) -> object - Psych
. load(yaml , filename: nil , fallback: false , symbolize _ names: false) -> object - JSON
. # load(source , proc = nil , options = {}) -> object
-
Psych
. load(yaml , filename = nil , fallback: false , symbolize _ names: false) -> object (18334.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...see Psych.parse
//emlist[例][ruby]{
Psych.load("--- a") # => 'a'
Psych.load("---\n - a\n - b") # => ['a', 'b']
begin
Psych.load("--- `", filename: "file.txt")
rescue Psych::SyntaxError => ex
p ex.file # => 'file.txt'
p ex.message # => "(file.txt): found character that cannot st......ード引数 symbolize_names に true を指定した場合はハッシュのキー
を Symbol に変換して返します。
//emlist[例][ruby]{
Psych.load("---\n foo: bar") # => {"foo"=>"bar"}
Psych.load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"}
//}... -
Psych
. load(yaml , filename: nil , fallback: false , symbolize _ names: false) -> object (18334.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...see Psych.parse
//emlist[例][ruby]{
Psych.load("--- a") # => 'a'
Psych.load("---\n - a\n - b") # => ['a', 'b']
begin
Psych.load("--- `", filename: "file.txt")
rescue Psych::SyntaxError => ex
p ex.file # => 'file.txt'
p ex.message # => "(file.txt): found character that cannot st......ード引数 symbolize_names に true を指定した場合はハッシュのキー
を Symbol に変換して返します。
//emlist[例][ruby]{
Psych.load("---\n foo: bar") # => {"foo"=>"bar"}
Psych.load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"}
//}... -
Psych
. load(yaml , filename = nil , fallback: false , symbolize _ names: false) -> object (18332.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...す
@see Psych.parse
//emlist[例][ruby]{
Psych.load("--- a") # => 'a'
Psych.load("---\n - a\n - b") # => ['a', 'b']
begin
Psych.load("--- `", "file.txt")
rescue Psych::SyntaxError => ex
p ex.file # => 'file.txt'
p ex.message # => "(file.txt): found character that cannot start a......ード引数 symbolize_names に true を指定した場合はハッシュのキー
を Symbol に変換して返します。
//emlist[例][ruby]{
Psych.load("---\n foo: bar") # => {"foo"=>"bar"}
Psych.load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"}
//}... -
Psych
. load(yaml , filename: nil , fallback: false , symbolize _ names: false) -> object (18332.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...see Psych.parse
//emlist[例][ruby]{
Psych.load("--- a") # => 'a'
Psych.load("---\n - a\n - b") # => ['a', 'b']
begin
Psych.load("--- `", filename: "file.txt")
rescue Psych::SyntaxError => ex
p ex.file # => 'file.txt'
p ex.message # => "(file.txt): found character that cannot st......ード引数 symbolize_names に true を指定した場合はハッシュのキー
を Symbol に変換して返します。
//emlist[例][ruby]{
Psych.load("---\n foo: bar") # => {"foo"=>"bar"}
Psych.load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"}
//}... -
JSON
. # load(source , proc = nil , options = {}) -> object (18327.0) -
与えられた JSON 形式の文字列を Ruby オブジェクトとしてロードして返します。
...JSON.load(str) # => [1,2,3]
JSON.load(str, proc{|v| p v }) # => [1,2,3]
# 以下が表示される
# 1
# 2
# 3
# [1,2,3]
str=<<JSON
{ "a":1, "b":2, "c":3 }
JSON
JSON.load(str) # => {"a"=>1, "b"=>2, "c"=>3}
JSON.load(str, proc{|v| p v }) # => {"a"=>1, "b"=>2, "c"=>3}
#......以下が表示される
# "a"
# 1
# "b"
# 2
# "c"
# 3
# {"a"=>1, "b"=>2, "c"=>3}
@param source JSON 形式の文字列を指定します。他には、to_str, to_io, read メソッドを持つオブジェクトも指定可能です。
@param proc Proc オブジェクトを指定し... -
Psych
. load(yaml , filename = nil , fallback = false) -> object (18320.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...す
@see Psych.parse
//emlist[例][ruby]{
Psych.load("--- a") # => 'a'
Psych.load("---\n - a\n - b") # => ['a', 'b']
begin
Psych.load("--- `", "file.txt")
rescue Psych::SyntaxError => ex
p ex.file # => 'file.txt'
p ex.message # => "(file.txt): found character that cannot start a... -
Marshal
. # load(port , proc = nil) -> object (18309.0) -
port からマーシャルデータを読み込んで、元のオブジェクトと同 じ状態をもつオブジェクトを生成します。
...引数にその手続きを呼び出します。
//emlist[例][ruby]{
str = Marshal.dump(["a", 1, 10 ** 10, 1.0, :foo])
p Marshal.load(str, proc {|obj| p obj})
# => "a"
# 1
# 10000000000
# 1.0
# :foo
# ["a", 1, 10000000000, 1.0, :foo]
# ["a", 1, 10000000000, 1.0, :foo]
//}
@para... -
Object
# marshal _ load(obj) -> object (15366.0) -
Marshal.#load を制御するメソッドです。
...hal.#load を制御するメソッドです。
some のダンプ結果(Marshal.dump(some)) をロードする(Marshal.load(Marshal.dump(some)))に
は some がメソッド marshal_load を持っていなければなりません。
このとき、marshal_dump の返り値が marshal_load の......marshal_load 時の self は、生成されたばかり(Class#allocate されたばかり) の状態です。
marshal_dump/marshal_load の仕組みは Ruby 1.8.0 から導入されました。
これから書くプログラムでは _dump/_load ではなく
marshal_dump/marshal_load を使う......べきです。
@param obj marshal_dump の返り値のコピーです。
@return 返り値は無視されます。
@see Object#marshal_dump, Marshal... -
Object
# marshal _ dump -> object (9279.0) -
Marshal.#dump を制御するメソッドです。
...ります。
marshal_dump/marshal_load の仕組みは Ruby 1.8.0 から導入されました。
これから書くプログラムでは _dump/_load ではなく
marshal_dump/marshal_load を使うべきです。
@return 任意のオブジェクトで marshal_load の引数に利用できます。......shal_load(obj)
p obj
@foo = obj
end
end
foo = Foo.new(['foo', 'bar'])
p foo #=> #<Foo:0xbaf3b0 @foo=["foo", "bar"]>
dms = Marshal.dump(foo)
p dms #=> "\004\bU:\bFoo[\a\"\bfoo\"\bbar"
result = Marshal.load(dms) #=> ["foo", "bar"] # marshal_load の......定義されていてもマーシャルできるようになります
(特異メソッドの情報が自動的に dump されるようになるわけではなく、
marshal_dump/marshal_load によりそれを実現する余地があるということです)。
@see Object#marshal_load, Marshal... -
Object
# clone(freeze: nil) -> object (9220.0) -
オブジェクトの複製を作成して返します。
...#=> true
p(obj == obj) #=> true
p(obj.tainted?) #=> true
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true
obj_c = obj.clone
p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.tainted?) #=> true
p(o......n?) #=> true
p(obj_c.respond_to?(:fuga)) #=> true
obj_d = obj.dup
p(obj.equal?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.tainted?) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}
@see Object#initialize_copy......by]{
Marshal.load(Marshal.dump(obj))
//}
このように複製を作成する方法があります。ただしMarshal出来ないオブジェクトが
含まれている場合には使えません。
//emlist[][ruby]{
obj = ["a","b","c"]
obj_d = obj.dup
obj_d[0] << "PLUS"
p obj #=> ["aPLUS", "b......#=> true
p(obj == obj) #=> true
p(obj.tainted?) #=> false
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true
obj_c = obj.clone
p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.tainted?) #=> false
p(......n?) #=> true
p(obj_c.respond_to?(:fuga)) #=> true
obj_d = obj.dup
p(obj.equal?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.tainted?) #=> false
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}
@see Object#initialize_copy......#=> true
p(obj == obj) #=> true
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true
obj_c = obj.clone
p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.frozen?) #=> true
p(obj_c.respond_to?(:fuga)) #=> true
ob......j_d = obj.dup
p(obj.equal?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}
@see Object#initialize_copy
=== 深いコピーと浅いコピー
clone や dup はオブジェクト自身を複製するだ... -
Object
# dup -> object (9220.0) -
オブジェクトの複製を作成して返します。
...#=> true
p(obj == obj) #=> true
p(obj.tainted?) #=> true
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true
obj_c = obj.clone
p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.tainted?) #=> true
p(o......n?) #=> true
p(obj_c.respond_to?(:fuga)) #=> true
obj_d = obj.dup
p(obj.equal?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.tainted?) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}
@see Object#initialize_copy......by]{
Marshal.load(Marshal.dump(obj))
//}
このように複製を作成する方法があります。ただしMarshal出来ないオブジェクトが
含まれている場合には使えません。
//emlist[][ruby]{
obj = ["a","b","c"]
obj_d = obj.dup
obj_d[0] << "PLUS"
p obj #=> ["aPLUS", "b......#=> true
p(obj == obj) #=> true
p(obj.tainted?) #=> false
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true
obj_c = obj.clone
p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.tainted?) #=> false
p(......n?) #=> true
p(obj_c.respond_to?(:fuga)) #=> true
obj_d = obj.dup
p(obj.equal?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.tainted?) #=> false
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}
@see Object#initialize_copy......#=> true
p(obj == obj) #=> true
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true
obj_c = obj.clone
p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.frozen?) #=> true
p(obj_c.respond_to?(:fuga)) #=> true
ob......j_d = obj.dup
p(obj.equal?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}
@see Object#initialize_copy
=== 深いコピーと浅いコピー
clone や dup はオブジェクト自身を複製するだ... -
Object
# _ dump(limit) -> String (9190.0) -
Marshal.#dump において出力するオブジェクトがメソッド _dump を定義している場合には、そのメソッドの結果が書き出されます。
..._dump
を定義している場合には、そのメソッドの結果が書き出されます。
バージョン1.8.0以降ではObject#marshal_dump, Object#marshal_loadの使用
が推奨されます。 Marshal.dump するオブジェクトが _dump と marshal_dump の両方の
メソッドを持......スタンスがメソッド _dump を持つクラスは必ず同じフォー
マットを読み戻すクラスメソッド _load を定義する必要があり
ます。_load はオブジェクトを表現した文字列を受け取り、それ
をオブジェクトに戻したものを返す必要......self._load(obj)
p obj
Foo.new(Marshal.load(obj))
end
end
foo = Foo.new(['foo', 'bar'])
p foo #=> #<Foo:0xbaf234 @foo=["foo", "bar"]>
dms = Marshal.dump(foo)
p dms #=> "\004\bu:\bFoo\023\004\b[\a\"\bfoo\"\bbar"
result = Marshal.load(dms) #=> "\004\... -
Object
. yaml _ tag(tag) -> () (9148.0) -
クラスと tag の間を関連付けます。
...umps Ruby object normally
p Psych.dump(Foo.new(3))
# =>
# --- !ruby/object:Foo
# x: 3
# Registers tag with class Foo
Foo.yaml_as("tag:example.com,2013:foo")
# ... and dumps the object of Foo class
Psych.dump(Foo.new(3), STDOUT)
# =>
# --- !<tag:example.com,2013:foo>
# x:......3
# Loads the object from the tagged YAML node
p Psych.load(<<EOS)
--- !<tag:example.com,2012:foo>
x: 8
EOS
# => #<Foo:0x0000000130f48 @x=8>...