種類
- 文書 (80)
- インスタンスメソッド (11)
ライブラリ
- ビルトイン (11)
クラス
- Module (11)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - Marshal フォーマット (11)
-
NEWS for Ruby 2
. 1 . 0 (11) -
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 2
. 4 . 0 (8) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) -
NEWS for Ruby 3
. 1 . 0 (3) -
ruby 1
. 6 feature (11)
検索結果
先頭5件
-
Module
# freeze -> self (39131.0) -
モジュールを凍結(内容の変更を禁止)します。
...。
凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合に
RuntimeError
が発生します。
@see Object#freeze
//emlist[例][ruby]{
module Foo; end
Foo.freeze
module Foo
def foo; end
end # => RuntimeError: can't modify frozen module
//}......。
凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合に
FrozenError
が発生します。
@see Object#freeze
//emlist[例][ruby]{
module Foo; end
Foo.freeze
module Foo
def foo; end
end # => FrozenError: can't modify frozen module
//}... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (450.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への変更点(まとめ)/サポートプラットフォームの追加>))
...いう振
るまい(C の do ... while 構文と同じ)をしていませんでした。
((<ruby-list:34618>))
: ((<"rescue/ensure on class/module"|クラス/メソッドの定義/クラス定義>)) [compat]
メソッド定義のほかにもクラス定義やモジュール定義にもresc......クラスと発生した例外オブジェクトの比較 [ruby] [change]
発生した例外 $! と rescue 節の例外クラスとは ((<Module#===|Module/===>))
を使って比較するようになりました。
以前は kind_of? による比較なので基本的な動作に変わりは......se>)) [new]
: ((<ThreadGroup#enclosed?|ThreadGroup/enclosed?>)) [new]
追加 ((<ruby-dev:20655>))
ThreadGroup への Thread 追加/削除を(freeze せずに)禁止します。
=== Time
: ((<Time#getgm|Time/getgm>)) [new]
: ((<Time#getlocal|Time/getlocal>)) [new]
: ((<Time#getu... -
ruby 1
. 6 feature (180.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...[]
=> ruby 1.6.7 (2002-08-01) [i586-linux]
["bar"]
: 2002-06-13 Hash[]
Hash[] で、キーとなる文字列を dup & freeze していませんでした。
a = "key"
h = Hash[a,"val"]
h.keys[0].upcase!
p a
=> ruby 1.6.7 (2002-03-......01) [i586-linux]
""
=> ruby 1.6.7 (2002-03-29) [i586-linux]
"ruby-1.6\000-v\000-"
: 2002-03-22 ((<Module/module_eval>))
((<Module/module_eval>)) のブロック内で定数やクラス変数のスコープが
変わることはなくなりました。((<ruby-dev:......rubyist:1018>)), ((<ruby-dev:15684>)),
((<ruby-dev:15757>))
: ((<Module/include>))
モジュールが再帰的に include されないようになりました。
module Foo; end
module Bar; include Foo; end
module Foo; include Bar; end
p Foo.ancestors
=> ruby 1.6.6 (2001... -
NEWS for Ruby 3
. 0 . 0 (126.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...String literals are no longer frozen when
`# frozen-string-literal: true` is used. 17104
* Magic comment `shareable_constant_value` added to freeze constants.
See {Magic Comments}[rdoc-ref:doc/syntax/comments.rdoc@Magic+Comments] for more details.
17273
* A {static analysis}[rdoc-la......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 RuntimeError is now raised (previously,
it only issued a warning in verbose mode). Additionally, accessing a
class variable from the t......Kernel
* Kernel#clone when called with the `freeze: false` keyword will call `#initialize_clone` with the `freeze: false` keyword. 14266
* Kernel#clone when called with the `freeze: true` keyword will call `#initialize_clone` with the `freeze: true` keyword, and will return a frozen copy ev... -
NEWS for Ruby 2
. 1 . 0 (102.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...l
* 追加: Kernel#singleton_method(Object#singleton_method)
* Module
* 追加: Module#using, which activates refinements of the specified module only
in the current class or module definition.
* 追加: Module#singleton_class? レシーバーが特異クラスであれば true......バーが通常のクラスやモジュールであれば false を返します。
* 拡張: Module#refine はもはや実験的な機能でなくなりました
* 拡張: Module#include と Module#prepend はパブリックメソッドになりました
* Mutex
* Mutex#owned? はも......にプロセス名をセットできます。
* 追加: Process.#clock_gettime
* 追加: Process.#clock_getres
* String
* "literal".freeze は同じオブジェクトを返すように最適化されました。
* 追加: String#scrub, String#scrub! 不正なバイト列を検証... -
Marshal フォーマット (72.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...false).unpack1("x2 a*") # => "F"
//}
Ruby 2.1 以前では、インスタンス変数を設定しても dump されません。
Ruby 2.2 以降は freeze されているので、インスタンス変数は設定できません。
=== Fixnum
'i' に続けて Fixnum を表すデータ構造が続......# => 256
//}
Ruby 1.9.3 以前では、インスタンス変数を設定しても dump されません。
Ruby 2.0 以降は freeze されているので、インスタンス変数は設定できません。
=== instance of the user class
==== String, Regexp, Array, Hash の.......new).unpack("x2 a ac a11 c aca3a aca3a")
# => ["S", ":", 16, "Struct::XXX", 7,
# ":", 8, "foo", "0",
# ":", 8, "bar", "0"]
//}
=== Class/Module (old format)
'M' で始まるデータ構造です。
//emlist{
| 'M' | 長さ(Fixnum形式) | モジュール/クラス名 |
//}
今ではこ... -
NEWS for Ruby 2
. 7 . 0 (72.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...告は Ruby 3.0 では verbose モードでなくても表示され、Ruby 3.2 で削除される
予定です。 16131
* Object#methodとModule#instance_methodがrefinementsを考慮するようになりました。 15373
=== コマンドラインオプション
==== 警告オプション......ました。 15267
//emlist[][ruby]{
File.extname("foo.") #=> "."
//}
* FrozenError
* 新規メソッド
* 変更しようとしたfreezeされたオブジェクトを返すFrozenError#receiverメソッドが
追加されました。FrozenErrorをRubyのコードで発生す......145
* Module
* 新規メソッド
* 定数が定義された場所を取得するModule#const_source_location
メソッドが追加されました。 10771
* 通常の引数分解でキーワード引数を渡すようにメソッドに印をつける
Module#ruby2_... -
NEWS for Ruby 2
. 5 . 0 (60.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...thod#callを呼び出します 14142
* Module
* Module#attr, Module#attr_accessor, Module#attr_reader, Module#attr_writer はパブリックメソッドになりました 14132
* Module#define_method, Module#alias_method, Module#undef_method, Module#remove_method はパブリックメソ......。 13077
* -"literal" (String#-@) は同じオブジェクトを返すように最適化しました。
(Ruby 2.1以降の "literal".freeze と同じです) 13295
* String#casecmp, String#casecmp? に文字列でない引数を与えた場合、TypeErrorを発生させずにnilを返... -
NEWS for Ruby 3
. 1 . 0 (60.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...hal
* 変更されたメソッド
* Marshal.load が freeze: true オプションを渡せるようになりました。返されるオブジェクトはクラスやモジュールのオブジェクトを除き、すべてfreezeされます。文字列は重複排除されます。 18148......protected?, UnboundMethod#public?, UnboundMethod#private?, UnboundMethod#protected? が追加されました。 11689
* Module
* 変更されたメソッド
* Module#prepend はレシーバが既に引数をincludeしている場合、継承ツリーを変更するようになりまし......レシーバが既に引数をprependしている場合、継承ツリーを変更しません。 17423
* Module#private, Module#public, Module#protected, Module#module_functionが引数を返すようになりました。引数が1つでも渡されている場合、それが返されます... -
NEWS for Ruby 2
. 3 . 0 (30.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...した
8976
* コマンドラインオプションに --debug または --debug=frozen-string-literal を付けて実行すると、
freeze された文字列を操作しようとして RuntimeError が発生したときにそのオブジェクトが生成された位置を表示し......* Kernel.#loop は StopIteration で停止したときに nil ではなく最後に評価した要素を返します。
11498
* Module
* Module#deprecate_constant を追加
11398
* NameError
* レシーバーオブジェクトを返す NameError#receiver を追加......each_codepoint は、変換時、EOFの前に不完全な文字があると例外が発生するようになりました。
11444
* Module
* Module#define_method と Object#define_singleton_method は
メソッド本体(Procオブジェクト、Methodオブジェクト、または... -
NEWS for Ruby 2
. 4 . 0 (24.0) -
NEWS for Ruby 2.4.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...l#clone は freeze というキーワード引数を受け付けるようになりました。
12300
* MatchData
* MatchData#named_captures を追加 11999
* MatchData#values_at は named captures をサポートするようになりました 9179
* Module
* Module#refine 引......数としてモジュールを許可するようになりました 12534
* Module.used_modules を追加 7418
* Numeric
* Numeric#finite?, Numeric#infinite? を追加 12039
* Process
* macOS 10.12 から導入された CLOCK_MONOTONIC_RAW_APPROX, CLOCK_UPTIME_RAW,
CLOCK_UPTIM...