ライブラリ
- psych (43)
クラス
- Object (12)
モジュール
- Psych (19)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (5) -
NEWS for Ruby 3
. 1 . 0 (4) - Parser (12)
- irb (12)
- rdoc (12)
-
ruby 1
. 8 . 2 feature (12) -
safe
_ load (19) -
yaml
_ tag (12)
検索結果
先頭5件
- yaml
- Object
. yaml _ tag(tag) -> () - Psych
. safe _ load(yaml , legacy _ permitted _ classes=[] , legacy _ permitted _ symbols=[] , legacy _ aliases=false , legacy _ filename=nil) -> object - Psych
. safe _ load(yaml , permitted _ classes: [] , permitted _ symbols: [] , aliases: false , filename: nil , fallback: nil , symbolize _ names: false , freeze: false) -> object - 1
. 6 . 8から1 . 8 . 0への変更点(まとめ)
-
yaml (38398.0)
-
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
...あるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
//emlist[例1: 構造化された配列][ruby]{
require 'yaml'
data = ["Taro san", "Jiro san", "Saburo san"]
str_r = YAML.dump(data)
str_l = <<~YAML_EOT
---
- Taro san
- Jiro san
- Saburo san
YAML_EOT
p st......true
//}
//emlist[例2: 構造化されたハッシュ][ruby]{
require 'yaml'
require 'date'
str_l = <<~YAML_EOT
Tanaka Taro: {age: 35, birthday: 1970-01-01}
Suzuki Suneo: {
age: 13,
birthday: 1992-12-21
}
YAML_EOT
str_r = {}
str_r["Tanaka Taro"] = {
"age" => 35,
"birthday" =>......できます。
//emlist[例][ruby]{
require 'yaml'
p YAML.load(<<~EOS)
---
!ruby/sym :foo
EOS
# => :foo
//}
yaml では、Ruby 向けに以下のローカルタグを扱えます。
* !ruby/array: Array オブジェクト
* !ruby/class: Class オブジェクト
* !ruby/hash: Hash オブ... -
Object
. yaml _ tag(tag) -> () (6137.0) -
クラスと tag の間を関連付けます。
...によって tag 付けされた YAML ドキュメントを Ruby のオブジェクトに
変換したりその逆をしたりすることができます。
@param tag 対象のクラスに関連付けるタグの文字列
=== Example
require 'psych'
class Foo
def initialize(x)
@x......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)
--- !<t... -
Psych
. safe _ load(yaml , legacy _ permitted _ classes=[] , legacy _ permitted _ symbols=[] , legacy _ aliases=false , legacy _ filename=nil) -> object (320.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデ......ード引数 permitted_classes を指定すると、
そのクラスが追加されます。例えば Date クラスを許可するには
以下のように書いてください:
//emlist[permitted_classes: に Date を渡した例][ruby]{
Psych.safe_load(yaml, permitted_classes: [Date])
//}
す......x << x
yaml = Psych.dump x
Psych.safe_load yaml # => 例外発生
Psych.safe_load yaml, aliases: true # => エイリアスが読み込まれる
//}
yaml に許可されていないクラスが含まれていた場合は、
Psych::DisallowedClass 例外が発生します。
yaml が... -
Psych
. safe _ load(yaml , permitted _ classes: [] , permitted _ symbols: [] , aliases: false , filename: nil , fallback: nil , symbolize _ names: false , freeze: false) -> object (320.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデ......ード引数 permitted_classes を指定すると、
そのクラスが追加されます。例えば Date クラスを許可するには
以下のように書いてください:
//emlist[permitted_classes: に Date を渡した例][ruby]{
Psych.safe_load(yaml, permitted_classes: [Date])
//}
す......x << x
yaml = Psych.dump x
Psych.safe_load yaml # => 例外発生
Psych.safe_load yaml, aliases: true # => エイリアスが読み込まれる
//}
yaml に許可されていないクラスが含まれていた場合は、
Psych::DisallowedClass 例外が発生します。
yaml が... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (312.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...よくわかりません(^^;
class << Object
p [self.id, self]
class << self
p [self.id, self]
end
end
=> ruby 1.6.7 (2002-03-01) [i586-linux]
[537771634, Class]
[537742484, Class]
=> ruby 1.7.3 (2002-09......-05) [i586-linux]
[537771634, #<Class:Object>]
[537771634, #<Class:Object>]
さらに、オブジェクトの特異クラスのスーパークラスの特異クラスと
オブジェクトの特異クラスの特異クラスのスーパークラスは同じなのだそう......y 追加。((<ruby-dev:20363>))
: ((<rexml>)) [lib],[new]
追加
: ((<yaml|YAML>)) [new]
追加。YAML は、YAML Ain't Markup Language だそうです。
((<URL:http://yaml4r.sourceforge.net/>))
((<URL:http://yaml.org/>))
: ((<zlib>)) [lib] [new]
追加
: ((<bigdecimal>)) [lib] [ne... -
Psych
. safe _ load(yaml , legacy _ permitted _ classes=[] , legacy _ permitted _ symbols=[] , legacy _ aliases=false , legacy _ filename=nil) -> object (284.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデ......ード引数 permitted_classes を指定すると、
そのクラスが追加されます。例えば Date クラスを許可するには
以下のように書いてください:
//emlist[permitted_classes: に Date を渡した例][ruby]{
Psych.safe_load(yaml, permitted_classes: [Date])
//}
す......x << x
yaml = Psych.dump x
Psych.safe_load yaml # => 例外発生
Psych.safe_load yaml, aliases: true # => エイリアスが読み込まれる
//}
yaml に許可されていないクラスが含まれていた場合は、
Psych::DisallowedClass 例外が発生します。
yaml が... -
Psych
. safe _ load(yaml , permitted _ classes: [] , permitted _ symbols: [] , aliases: false , filename: nil , fallback: nil , symbolize _ names: false) -> object (284.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデ......ード引数 permitted_classes を指定すると、
そのクラスが追加されます。例えば Date クラスを許可するには
以下のように書いてください:
//emlist[permitted_classes: に Date を渡した例][ruby]{
Psych.safe_load(yaml, permitted_classes: [Date])
//}
す......x << x
yaml = Psych.dump x
Psych.safe_load yaml # => 例外発生
Psych.safe_load yaml, aliases: true # => エイリアスが読み込まれる
//}
yaml に許可されていないクラスが含まれていた場合は、
Psych::DisallowedClass 例外が発生します。
yaml が... -
Psych
. safe _ load(yaml , whitelist _ classes = [] , whitelist _ symbols = [] , aliases = false , filename = nil , symbolize _ names: false) -> object (265.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデ......任意のクラスを許可するには whitelist_classes を指定すると、
そのクラスが追加されます。例えば Date クラスを許可するには
以下のように書いてください:
//emlist[][ruby]{
Psych.safe_load(yaml, [Date])
//}
すると上のクラス一覧に加え......<< x
yaml = Psych.dump x
Psych.safe_load yaml # => 例外発生
Psych.safe_load yaml, [], [], true # => エイリアスが読み込まれる
//}
yaml にホワイトリストにないクラスが含まれていた場合は、
Psych::DisallowedClass 例外が発生します。
yaml... -
Psych
. safe _ load(yaml , whitelist _ classes = [] , whitelist _ symbols = [] , aliases = false , filename = nil) -> object (259.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデ......任意のクラスを許可するには whitelist_classes を指定すると、
そのクラスが追加されます。例えば Date クラスを許可するには
以下のように書いてください:
//emlist[][ruby]{
Psych.safe_load(yaml, [Date])
//}
すると上のクラス一覧に加え......<< x
yaml = Psych.dump x
Psych.safe_load yaml # => 例外発生
Psych.safe_load yaml, [], [], true # => エイリアスが読み込まれる
//}
yaml にホワイトリストにないクラスが含まれていた場合は、
Psych::DisallowedClass 例外が発生します。
yaml... -
NEWS for Ruby 3
. 0 . 0 (96.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...d in singleton class definitions in methods is now a SyntaxError
instead of a warning. yield in a class definition outside of a method
is now a SyntaxError instead of a LocalJumpError. 15575
* When a class variable is overtaken by the same definition in an
ancestor class/module, a Run......timeError is now raised (previously,
it only issued a warning in verbose mode). Additionally, accessing a
class variable from the toplevel scope is now a RuntimeError.
14541
* Assigning to a numbered parameter is now a SyntaxError instead of
a warning.
== Command line options
==......hods can now be overridden safely. 15409
* Implementation uses only methods ending with `!`.
* Ractor compatible.
* Improved support for YAML. 8382
* Use officially discouraged. Read OpenStruct@Caveats section.
* Pathname
* Ractor compatible.
* Psych
* Update to Psych 3.3... -
Psych
:: Parser (64.0) -
YAML のパーサ。
...YAML のパーサ。
このクラスは YAML ドキュメントをパースし、コンストラクタに渡された
ハンドラにイベントを通知(呼び出し)します。
このイベントを使って YAML の AST を構築したり YAML ドキュメントを
別のフォーマット変......成するイベントは Psych::Handler
を見てください。
以下の例では YAML ドキュメント に含まれているスカラー値を表示します。
# Handler for detecting scalar values
class ScalarHandler < Psych::Handler
def scalar value, anchor, tag, plain, quoted, st......value
end
end
parser = Psych::Parser.new(ScalarHandler.new)
parser.parse(yaml_document)
次の例は Psych::Emitter にパースの結果を戻しています。
STDIN からの入力をパース→YAMLフォーマットで STDERR に出力
という流れになっています。
par... -
NEWS for Ruby 3
. 1 . 0 (54.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...* Class
* 新規メソッド
* Class#subclassesはレシーバを継承した子クラスを要素に持つ配列(シングルトンクラスを含まない)を返します。
//emlist[Class#subclasses][ruby]{
class A; end
class B < A; end
class C < B; end
class D < A; end
A.subclasses......#=> [D, B]
B.subclasses #=> [C]
C.subclasses #=> []
//}
* Enumerable
* 新規メソッド
* Enumerable#compactが追加されました。 17312
* Enumerable#tallyがカウント集計用のハッシュオブジェクトを任意で渡せるようになりました。 1774......tringio 3.0.1
* strscan 3.0.1
* tempfile 0.1.2
* time 0.2.0
* timeout 0.2.0
* tmpdir 0.1.2
* un 0.2.0
* uri 0.11.0
* yaml 0.2.0
* zlib 2.1.1
* 以下のbundled gemsが更新されました。
* minitest 5.15.0
* power_assert 2.0.1
* rake 13.0.6
*... -
ruby 1
. 8 . 2 feature (48.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
...soap, wsdl の変更点は
((<URL:http://rrr.jin.gr.jp/projects/soap4r/wiki/Changes-ruby181_ruby182>))
を参照して下さい。
* rss, rdoc, yaml の変更点は収録していません。
=== 日時未詳
: CGI#server_port [lib] [bug]
常に 0 を返すバグが修正されました。......見なされて
いるバグを修正しました。((<ruby-dev:23690>))
$ ruby1.8.1 -e 'class X;end; x=X.new; class << x;p self < X; end'
true
$ ruby1.8.2 -e 'class X;end; x=X.new; class << x;p self < X; end'
nil
=== 2004-06-04
: IO#gets, $_ [ruby] [change]
gets の返り......"]
=== 2004-05-10
: superclass mismatch [ruby] [change]
親クラスの違う同じ名前のクラスを再定義した時 TypeError を投げるようになりました。
((<ruby-list:39567>))
$ ruby-1.8.2 -e '
class Foo
Bar = 1
end
class Foo < String
Baz =... -
NEWS for Ruby 2
. 7 . 0 (42.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ted です。 15575
この警告は「-W:no-deprecated」オプションで止められます。
//emlist{
def foo
class << Object.new
yield #=> warning: `yield' in class syntax will not be supported from Ruby 3.0. 15575
end
end
foo { p :ok }
//}
* 引数を転送する記法「(...)......sday?) #=> next Tuesday
//}
//emlist[Enumerator::Lazy#eager][ruby]{
a = %w(foo bar baz)
e = a.lazy.map {|x| x.upcase }.map {|x| x + "!" }.eager
p e.class #=> Enumerator
p e.map {|x| x + "?" } #=> ["FOO!?", "BAR!?", "BAZ!?"]
//}
//emlist[Enumerator::Lazy#with_index][ruby]{
("a"..).lazy......みで、まだrubygems.orgでは公開されていません。
* monitor
* observer
* timeout
* tracer
* uri
* yaml
* did_you_mean gemはbundled gemからdefault gemになりました。
* pathname
* Kernel#PathnameをPathnameを引数として呼んだ... -
irb (42.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
...は Ruby の式を入力するだけで、その式が実行され、結果が表示されます。
irb(main):001:0> 1+2
3
irb(main):002:0> class Foo
irb(main):003:1> def foo
irb(main):004:2> print 1
irb(main):005:2> end
irb(main):006:1> end
:foo
irb(main):007:0>
また i......PT_S => "%N(%m):%03n:%i%l ",
:PROMPT_C => "%N(%m):%03n:%i* ",
:RETURN => "%s\n"
}
プロンプトモードは :DEFAULT
の他に :NULL, :CLASSIC, :SIMPLE, :XMP が定義されています。
=== サブ irb
irb では、起動時の irb インタプリタとは独立した環境を持つ......を表示します。
: :yaml, :YAML
出力結果を YAML 形式にしたものを表示します。
: :marshal, :Marshal, :MARSHAL, Marshal
出力結果を Marshal.#dump したものを表示します。
例:
$ irb
irb(main):001:0> conf.inspect_mode = :yaml
irb(main):002:0> :foo # =...