るりまサーチ

最速Rubyリファレンスマニュアル検索!
2件ヒット [1-2件を表示] (0.016秒)

別のキーワード

  1. tcltklib _split_tklist
  2. _builtin split
  3. uri split
  4. shell split
  5. pathname split

クラス

モジュール

キーワード

検索結果

YAML.add_builtin_type(type_tag) {|type, val| ...} -> nil (8.0)

yaml.org,2002ドメインに属しているクラスをYAMLに追加し そのクラスを見つけたときの操作を指定します。

...
yaml
.org,2002ドメインに属しているクラスをYAMLに追加し
そのクラスを見つけたときの操作を指定します。

@param type_tag 加えるクラスを指定する。
@param type YAMLドメインとクラスの文字列
@param val YAMLデータ構造

require 'yaml'...
...str1=<<EOT
--- !ruby.yaml.org,2002/Rational 5/6
EOT
str2=<<EOT
--- !yaml.org,2002/Rational 3/4
EOT

p YAML.load(str1)
#=> #<YAML::DomainType:0x2b07528 @type_id="Rational", @domain="ruby.yaml.org,2002", @value="5/6">

p YAML.load(str2)
#=> #<YAML::DomainType:0x2b0767c @type_id=...
...e="3/4">

YAML
.add_builtin_type("Rational"){|type, val|
md = val.split(/\//)
Rational.new!(md[0].to_i, md[1].to_i)
}

p YAML.load(str1)
#=> #<YAML::DomainType:0x2b06fec @type_id="Rational", @domain="ruby.yaml.org,2002", @value="5/6">
## 前回と変化なし

rt = YAML.load(s...

YAML::Stream#emit(io = nil) -> IO | String (7.0)

ストリームに含まれる各ドキュメントを引数 io に YAML 形式で書き込みます。 io が nil の場合は文字列を返します。

...を引数 io に YAML 形式で書き込みます。
io が nil の場合は文字列を返します。

@param io 書き込み先の IO オブジェクト

require 'yaml'

class Dog
attr_accessor :name
def initialize(name)
@name = name
end
end

ys = YAML::Stream.new...
...ys.add(Dog.new("pochi"))
ys.edit(1, { :age => 17, :color => "white"})
ys.edit(2, [ "Chiba", "Saitama"])
ys.emit.split(/\n/).each {|l|
puts l
}

#結果
--- !ruby/object:Dog
name: pochi
---
:age: 17
:color: white
---
- Chiba
- Saitama...