キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - DATA (12)
- Marshal フォーマット (12)
-
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 3
. 0 . 0 (5) -
marshal
_ load (12) -
require
_ relative (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) - yaml (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 - Psych
. load(yaml , filename = nil , fallback = false) -> object
-
Psych
. load(yaml , filename = nil , fallback: false , symbolize _ names: false) -> object (18340.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...//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 start any token whi......the next token at line 1 column 5"
end
//}
キーワード引数 symbolize_names に true を指定した場合はハッシュのキー
を Symbol に変換して返します。
//emlist[例][ruby]{
Psych.load("---\n foo: bar") # => {"foo"=>"bar"}
Psych.load("---\n foo: ba......r", symbolize_names: true) # => {:foo=>"bar"}
//}... -
Psych
. load(yaml , filename: nil , fallback: false , symbolize _ names: false) -> object (18340.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...//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 start any token whi......the next token at line 1 column 5"
end
//}
キーワード引数 symbolize_names に true を指定した場合はハッシュのキー
を Symbol に変換して返します。
//emlist[例][ruby]{
Psych.load("---\n foo: bar") # => {"foo"=>"bar"}
Psych.load("---\n foo: ba......r", symbolize_names: true) # => {:foo=>"bar"}
//}... -
Psych
. load(yaml , filename = nil , fallback: false , symbolize _ names: false) -> object (18338.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...h.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 any token while scanning for the next token at l......ード引数 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 (18338.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...//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 start any token whi......the next token at line 1 column 5"
end
//}
キーワード引数 symbolize_names に true を指定した場合はハッシュのキー
を Symbol に変換して返します。
//emlist[例][ruby]{
Psych.load("---\n foo: bar") # => {"foo"=>"bar"}
Psych.load("---\n foo: ba......r", symbolize_names: true) # => {:foo=>"bar"}
//}... -
Psych
. load(yaml , filename = nil , fallback = false) -> object (18326.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...h.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 any token while scanning for the next token at l... -
Object
:: DATA -> File (15206.0) -
スクリプトの __END__ プログラムの終り以降をアクセスする File オブジェクト。
...ジェクト。
d:spec/program#terminateも参照。
ソースファイルの __END__ 以降は解析・実行の対象にならないので
その部分にプログラムが利用するためのデータを書き込んでおくことができます。
DATA 定数はそのデータ部分にアク......するための File オブジェクトを保持しています。
__END__ を含まないプログラムにおいては DATA は定義されません。
=== 注意
* DATA.rewind で移動する読みとり位置は __END__ 直後ではなく、
スクリプトファイルの先頭で......e や Kernel.#load で
読み込まれたファイルの中であってもそのファイル (__FILE__, d:spec/variables#pseudo)
ではなく実行されたファイル ($0) を指します。
=== 例1
print DATA.gets # => 故人西辞黄鶴楼
print DATA.gets # => 烟花三月... -
Delegator
# marshal _ load(obj) -> object (9302.0) -
シリアライズされたオブジェクトから、Delegator#__getobj__ が返すオブジェクトを再現します。
...シリアライズされたオブジェクトから、Delegator#__getobj__ が返すオブジェクトを再現します。
@param obj Delegator#marshal_dumpの戻り値のコピー... -
Kernel
. # require _ relative(relative _ feature) -> bool (6424.0) -
現在のファイルからの相対パスで require します。
...File.expand_path(relative_feature, File.dirname(__FILE__))
とほぼ同じです。
Kernel.#eval などで文字列を評価した場合に、そこから
require_relative を呼出すと必ず失敗します。
@param relative_feature ファイル名の文字列です。
@raise LoadError ロー......扱い方はKernel.#loadでも同様です。
//emlist[例][ruby]{
# ---------- some.rb -----------
$a = 1
@a = 1
A = 1
a = 1
# ---------- end some.rb -------
require 'some'
p $a #=> 1
p @a #=> 1
p A #=> 1
p a # undefined local variable or method `a' for #<Object:0x294f9ec @a=1> (NameError)
//}... -
ruby 1
. 8 . 4 feature (3480.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。......[platform]: 対応プラットフォームの追加
== 目次
* ((<ruby 1.8.4 feature/Ruby本体>))
* ((<ruby 1.8.4 feature/Symbol [bug]>))
* ((<ruby 1.8.4 feature/Symbol [bug]>))
* ((<ruby 1.8.4 feature/super [bug]>))
* ((<ruby 1.8.4 feature/正規表現 [bug]>))
* ((<ruby 1.8.4 feature......p :"#{""}"
# => ruby 1.8.3 (2005-09-21) [i686-linux]
:
# => ruby 1.8.4 (2005-12-16) [i686-linux]
-:1: empty symbol literal
: Symbol [bug]
#Sat Oct 22 13:26:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
#
# * object.c (sym_inspect), parse.y (p... -
ruby 1
. 6 feature (3270.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stab......検出に失敗することがありました。
((<ruby-dev:16849>))
: 2002-04-11: ((<"cgi/session">)) (*ドキュメント未反映*)
support for multipart form.
: 2002-04-10: Object#((<Object/remove_instance_variable>))
指定したインスタンス変数が定義されていない......#<MatchData:0x401b1be4>
#<MatchData:0x401b198c>
#<MatchData:0x401b1644>
#<MatchData:0x401b1414>
=> ruby 1.6.7 (2002-03-19) [i586-linux]
nil
nil
nil
nil
: 2002-03-14 拡張ライブラリの autoload
拡... -
Marshal フォーマット (3168.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...れ、'0', 'T', 'F' になります。
//emlist[][ruby]{
p Marshal.dump(nil).unpack1("x2 a*") # => "0"
p Marshal.dump(true).unpack1("x2 a*") # => "T"
p Marshal.dump(false).unpack1("x2 a*") # => "F"
//}
Ruby 2.1 以前では、インスタンス変数を設定しても dump されません。
Ru......npack("x2 a a c a3 aca*")
# => ["C", ":", 8, "Foo", "[", 6, "0"]
# ^^^ (or '"', '/', '{')
//}
==== String, Regexp, Array, Hash のサブクラス (インスタンス変数あり)
'I' で始まるデータ構造になります。
d:marshal_format#instance_variableも参照......)
# => ["I", "C", ":", 8, "Foo", "[", 6, "T", 6, ":", 9, "@foo", "F"]
//}
==== その他
実装上内部構造が異なるため、上記以外では、'o' になります。
(d:marshal_format#Object 参照)
//emlist[例][ruby]{
class Foo
end
p Marshal.dump(Foo.new).unpack("x2 a a c a*")
# => ["o... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (546.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への変更点(まとめ)/サポートプラットフォームの追加>))
...インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0......3>))。なんだかよくわかりません(^^;
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-dev:20358>))
: defined? [compat]
属性代入、配列要素への代入に対して "method" でなく "assignment" を返
すようになりました。
: ((<リテラル/数値リテラル>)) [compat]
10進((*整数*))リテラルの prefix と... -
yaml (90.0)
-
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
...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 str_r == str_l # => true
//}
//emlist[例2: 構造化されたハッシュ][ruby]{
require 'yaml'
require 'date'
str_l = <<~YAML_EOT
Tanaka Tar......birthday: 1992-12-21
}
YAML_EOT
str_r = {}
str_r["Tanaka Taro"] = {
"age" => 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]{......by/object:<クラス名>: 上記以外のオブジェクト
//emlist[例][ruby]{
require 'yaml'
p YAML.load(<<~EOS)
---
array: !ruby/array [1, 2, 3]
hash: !ruby/hash {foo: 1, bar: 2}
regexp: !ruby/regexp /foo|bar/
range: !ruby/range 1..10
EOS
# => {"regexp"=>/foo|bar/, "hash"=>{"foo"=>1,...