種類
- インスタンスメソッド (11)
- 文書 (8)
- 特異メソッド (2)
- ライブラリ (1)
モジュール
-
Rake
:: Cloneable (2)
オブジェクト
- ENV (2)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) -
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 4 . 0 (1) -
NEWS for Ruby 2
. 5 . 0 (1) -
NEWS for Ruby 3
. 0 . 0 (1) -
NEWS for Ruby 3
. 2 . 0 (1) -
NEWS for Ruby 3
. 3 . 0 (1) - dup (5)
-
initialize
_ clone (1) -
initialize
_ copy (1) -
initialize
_ dup (1) -
irb
/ completion (1) - クラス/メソッドの定義 (1)
検索結果
先頭5件
-
Object
# clone(freeze: nil) -> object (117736.0) -
オブジェクトの複製を作成して返します。
オブジェクトの複製を作成して返します。
clone は、オブジェクトの内容に加えて freeze の状態や特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意してください。後述。
[c:TrueClass], [c:FalseClass], [c:NilClass], [c:Symbol], そして [c:Numeric] クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。
- **param** `freeze` -- true を指定すると freeze されたコピーを返し... -
Object
# initialize _ clone(obj , freeze: nil) -> object (81877.0) -
{: since="1.9.2"}
{: since="1.9.2"}
[m:Object#clone] がオブジェクトを複製する際に呼び出すメソッドです。
デフォルトの実装は freeze キーワード引数を無視して [m:Object#initialize_copy] を呼び出し、self を返します。複製したオブジェクトを freeze するかどうかは、このメソッドの呼び出し元である [m:Object#clone] が判断します。
freeze キーワード引数には、[m:Object#clone] に渡された freeze の値がそのまま渡されます。
clone と dup で挙動を変えたいなどの理由でこのメソッドを... -
Object
# initialize _ copy(obj) -> object (63754.0) -
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
このメソッドは self を obj の内容で置き換えます。
ただし、self のインスタンス変数や特異メソッドは変化しません。
デフォルトでは、[m:Object#clone] の内部で [m:Object#initialize_clone] から、また [m:Object#dup] の内部で [m:Object#initialize_dup] から呼ばれます。
initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするために使用(定義)されます。例えば C 言語でクラスを実... -
Rake
:: Cloneable # clone -> object (63697.0) -
自身を複製します。
自身を複製します。
自身がフリーズされていれば返されるオブジェクトもフリーズされています。
```ruby
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
file_list = FileList['a.c', 'b.c']
clone = file_list.clone
p clone # => ["a.c", "b.c"]
clone.exclude("a.c")
p clone == file_list # => false
end
`... -
Object
# dup -> object (63466.0) -
オブジェクトの複製を作成して返します。
オブジェクトの複製を作成して返します。
dup は、オブジェクトの内容をコピーします。
[m:Object#clone] と異なり、freeze の状態や特異メソッドはコピーされません。
浅いコピー・複製の詳細は [m:Object#clone] を参照してください。
```ruby
obj = "string"
def obj.fuga
end
obj.freeze
p(obj.equal?(obj)) #=> true
p(obj == obj) #=> true
p(obj.frozen?) #=> tru... -
Object
# initialize _ dup(obj) -> object (63412.0) -
{: since="1.9.2"}
{: since="1.9.2"}
[m:Object#dup] がオブジェクトを複製する際に呼び出すメソッドです。
デフォルトでは [m:Object#initialize_copy] を呼び出します。
initialize_dup という名前のメソッドは自動的に private に設定されます。
- **SEE** [m:Object#dup], [m:Object#initialize_copy], [m:Object#initialize_clone] -
Hash
# clone -> Hash (54358.0) -
selfと同じ内容を持つ新しいハッシュを返します。
selfと同じ内容を持つ新しいハッシュを返します。
clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。
```ruby title="例"
h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup
h2["have"] = "has"
p h2 # => {"have"=>"has", "as"=>"as a"}
p ... -
Set
# clone -> Set (54358.0) -
集合を複製して返します。
集合を複製して返します。
dup は、集合の内容のみコピーします。
clone は、それに加えて、freeze 情報と特異メソッドをコピーします。
いずれも共通して、集合の要素そのものはコピーしません。
```ruby
s1 = Set[10, 20]
s2 = s1.dup
s2 << 30
p s1 # => #<Set: {10, 20}>
p s2 # => #<Set: {10, 20, 30}>
```
- **SEE** [m:Object#clone] -
ENV
. clone(freeze: true) -> () (54340.0) -
{: since=""}
{: since=""}
ENV オブジェクトの複製を作成して返します。
ENV は OS のプロセス全体で共有される環境変数を操作するラッパーオブジェクトなので、複製は有用ではありません。
そのため、3.1 からは複製で環境変数を操作するときに deprecated 警告がでます。
さらに Ruby 3.2 からは複製自体ができなくなり、[c:TypeError] が発生します。
テスト実行中に環境変数を退避する用途には [m:ENV.to_h] を使用してください。
```ruby
saved_env = ENV.to_h
# (テストなど)
ENV.replace(saved_e... -
Rake
:: Cloneable # dup -> object (9358.0) -
自身と同じクラスのオブジェクトを作成後、自身のインスタンス変数を全て新たに作成したオブジェクトにコピーします。
自身と同じクラスのオブジェクトを作成後、自身のインスタンス変数を全て新たに作成したオブジェクトにコピーします。
```ruby
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
file_list = FileList['a.c', 'b.c']
file_list.freeze
dup = file_list.dup
clone = file_list.clone
p dup.exclude("a.c") # => ["b.c"]
p clone.exclude("a.... -
Hash
# dup -> Hash (9058.0) -
selfと同じ内容を持つ新しいハッシュを返します。
selfと同じ内容を持つ新しいハッシュを返します。
clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。
```ruby title="例"
h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup
h2["have"] = "has"
p h2 # => {"have"=>"has", "as"=>"as a"}
p ... -
Set
# dup -> Set (9058.0) -
集合を複製して返します。
集合を複製して返します。
dup は、集合の内容のみコピーします。
clone は、それに加えて、freeze 情報と特異メソッドをコピーします。
いずれも共通して、集合の要素そのものはコピーしません。
```ruby
s1 = Set[10, 20]
s2 = s1.dup
s2 << 30
p s1 # => #<Set: {10, 20}>
p s2 # => #<Set: {10, 20, 30}>
```
- **SEE** [m:Object#clone] -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1315.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への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
NEWS for Ruby 3
. 2 . 0 (253.0) -
NEWS for Ruby 3.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...な限り追加されました。 [feature:19135]
- 以下の default gems のバージョンがアップデートされました。
- RubyGems 3.4.1
- abbrev 0.1.1
- benchmark 0.2.1
- bigdecimal 3.1.3
- bundler 2.4.1
- cgi 0.3.6
- csv 3.2.6
- date 3.3.3
- delegate 0.3.0
- did_y......ージョンがアップデートされました。
- minitest 5.16.3
- power_assert 2.0.3
- test-unit 3.5.7
- net-ftp 0.2.0
- net-imap 0.3.4
- net-pop 0.1.2
- net-smtp 0.3.3
- rbs 2.8.2
- typeprof 0.21.3
- debug 1.7.1
default gems と bundled gems の詳細については GitHu......libyaml-source-dir=/path/to/libyaml-0.2.5
```
- 同様に、libffi-3.4.4 を fiddle にリンクする場合は以下のように実行します。
```
$ ./configure --with-libffi-source-dir=/path/to/libffi-3.4.4
```
- [feature:18571]
- CGI::Cookie の Cookie name/path/doma... -
NEWS for Ruby 2
. 0 . 0 (145.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
## 1.9.3 以降の変更
### 言語仕様の変更
- キーワード引数を追加しました
- %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
- デフォルトのソースエンコーディングを US-ASCI... -
クラス/メソッドの定義 (145.0)
-
クラス/メソッドの定義 - クラス/メソッドの定義: - [ref:class] - [ref:singleton_class] - [ref:module] - [ref:method] - [ref:operator] - [ref:nest_method] - [ref:eval_method] - [ref:singleton_method] - [ref:class_method] - [ref:limit] - 定義に関する操作: - [ref:alias] - [ref:undef] - [ref:defined]
クラス/メソッドの定義
- クラス/メソッドの定義:
- [ref:class]
- [ref:singleton_class]
- [ref:module]
- [ref:method]
- [ref:operator]
- [ref:nest_method]
- [ref:eval_method]
- [ref:singleton_method]
- [ref:class_method]
- [ref:limit]
- 定義に関する操作:
- [ref:alias]
- [ref:un... -
NEWS for Ruby 3
. 0 . 0 (127.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 3.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストはリンク先を参照してください。
## 言語仕様の変更
- キーワード引数が位置引数から分離されるようになります。
Ruby 2.7 では非推奨の警告を表示していましたが、ArgumentError を出力するか、異なる振る舞いをします。
[feature:14183]
- 単一の rest 引数とキーワードを受け入れる Proc は、a... -
NEWS for Ruby 2
. 5 . 0 (109.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...FrozenError]
- 新しい例外クラスです [feature:13224]
### 標準添付ライブラリの更新
- [lib:bigdecimal]
- BigDecimal 1.3.4 に更新
- [m:BigDecimal::VERSION] を追加
- 非推奨(1.4.0で削除予定)
- BigDecimal.new
- BigDecimal.ver
- [m:BigD... -
NEWS for Ruby 3
. 3 . 0 (73.0) -
NEWS for Ruby 3.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...- Refinement#refined_class の代替として Refinement#target が追加されました。 Refinement#refined_class は非推奨となり、Ruby 3.4 で削除予定です。[feature:19714]
- [c:Regexp]
- Ruby 3.2で導入されたReDoS対策のメモ化最適化が先読み・後読みや......- abbrev 0.1.2
- base64 0.2.0
- benchmark 0.3.0
- bigdecimal 3.1.5
- bundler 2.5.3
- cgi 0.4.1
- csv 3.2.8
- date 3.3.4
- delegate 0.3.1
- drb 2.2.0
- english 0.8.0
- erb 4.0.3
- error_highlight 0.6.0
- etc 1.4.3
- fcntl 1.1.0
- fiddle.......0
- rake 13.1.0
- test-unit 3.6.1
- rexml 3.2.6
- rss 0.3.0
- net-ftp 0.3.3
- net-imap 0.4.9
- net-smtp 0.4.0
- rbs 3.4.0
- typeprof 0.21.9
- debug 1.9.1
default gems と bundled gems の詳細については Logger の GitHub Releases(<https://github.com/ru... -
ENV
. dup -> () (55.0) -
[c:TypeError]を発生させます。
[c:TypeError]を発生させます。
3.0 以前では Object.new と同様の ENV とは無関係の有用ではないオブジェクトを返していたため、3.1 からは例外が発生するようになりました。
詳細は[m:ENV.clone]を参照してください。
- **SEE** [m:ENV.clone] -
NEWS for Ruby 2
. 4 . 0 (55.0) -
NEWS for Ruby 2.4.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.4.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
## 2.3.0 以降の変更
### 言語仕様の変更
- 条件式での多重代入ができるようになりました [feature:10617]
- [m:Symbol#to_proc] でメソッド呼び出し元での Refinements が有効になりま... -
irb
/ completion (55.0) -
irb の completion 機能を提供するライブラリです。
irb の completion 機能を提供するライブラリです。
### 使い方
```console
$ irb -r irb/completion
```
とするか, ~/.irbrc 中に
```ruby
require "irb/completion"
```
を入れてください.
irb実行中に require "irb/completion" してもよいです.
irb 実行中に [Tab] を押すとコンプレーションします.
トップレベルで [Tab] を押すとすべての構文要素, クラス,
メソッドの候補がでます. 候補が唯一ならば完全に補完します.
```irb
ir...
