るりまサーチ

最速Rubyリファレンスマニュアル検索!
148件ヒット [1-100件を表示] (0.030秒)
トップページ > クエリ:Array[x] > クエリ:freeze[x]

別のキーワード

  1. array fill
  2. array sample
  3. array []
  4. array fetch
  5. array new

検索結果

<< 1 2 > >>

Object#freeze -> self (18137.0)

オブジェクトを凍結(内容の変更を禁止)します。

...クトであり、変数ではありません。代入などで変数の指す
オブジェクトが変化してしまうことは freeze では防げません。 freeze が防ぐのは、
`破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい
場合は...
...a2 = "foo".freeze
a2.replace("bar") # can't modify frozen String (RuntimeError)
//}

凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。

//emlist[][ruby]{
a = [1].freeze
p a.froze...
...n? #=> true

a[0] = "foo"
p a # can't modify frozen Array (RuntimeError)

b = a.dup
p b #=> [1]
p b.frozen? #=> false

b[0] = "foo"
p b #=> ["foo"]
//}

@see Object#frozen?,Object#dup,Kernel.#trace_var...
...a2 = "foo".freeze
a2.replace("bar") # can't modify frozen String (FrozenError)
//}

凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。

//emlist[][ruby]{
a = [1].freeze
p a.frozen...
...? #=> true

a[0] = "foo"
p a # can't modify frozen Array (FrozenError)

b = a.dup
p b #=> [1]
p b.frozen? #=> false

b[0] = "foo"
p b #=> ["foo"]
//}

@see Object#frozen?,Object#dup,Kernel.#trace_var...

1.6.8から1.8.0への変更点(まとめ) (414.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への変更点(まとめ)/サポートプラットフォームの追加>))

...別名) ((<ruby-dev:20197>))

=== Array

: ((<Array#transpose|Array/transpose>)) [new]

追加

: ((<Array#zip|Enumerable/zip>)) [new]
: ((<Enumerable#zip|Enumerable/zip>)) [new]

追加

: ((<Array#fetch|Array/fetch>)) [new]

追加

: ((<Array#insert|Array/insert>)) [new]

追加 (...
...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...
...=== その他

: ((<Array#values_at|Array/values_at>)) [new]
: ((<Hash#values_at|Hash/values_at>)) [new]
: ((<ENV/ENV.values_at>)) [new]
: ((<MatchData#values_at|MatchData/values_at>)) [new]
: ((<aStruct#values_at|Struct/values_at>)) [new]

ruby 1.6 の ((<indexes|Array/indexes>)) は、values_a...

ruby 1.6 feature (144.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-...
...caltime
: Time#gmtime

フリーズした Time オブジェクトに対して一度だけ呼び出しを許しました。

t = Time.new.freeze
p t.gmtime
p t.localtime

=> -:2:in `gmtime': can't modify frozen Time (TypeError)
from -:2
rub...
...from -:14
ruby 1.6.5 (2001-10-05) [i586-linux]

: Subclass of String and Array

String, Array のサブクラスで特定のメソッドを呼ぶと、String, Array
になっていました。

class Foo < String
end
p Foo.new("").class...

Psych.safe_load(yaml, permitted_classes: [], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false) -> object (143.0)

安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。

...ォルトでは以下のクラスのオブジェクトしか変換しません。

* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash

再帰的なデータ構造はデフォルトでは許可されていません。

任意のクラスを許可するにはキーワード...
..."bar"}
//}

キーワード引数 freeze に true を指定した場合は再帰的に
Object#freeze したオブジェクトを返します。

//emlist[freeze: true の例][ruby]{
require "psych"

data = <<~EOS
aaa:
bbb: [hoge]
EOS

yaml = Psych.load(data, freeze: true)
p yaml
# => {"aaa"=>{"bbb...
...true を指定した場合は変換します。デフォルトでは
文字列に変換されます。
@param freeze true を指定すると再帰的に freeze されたオブジェクトを返します。
デフォルトは false です。...

NEWS for Ruby 3.0.0 (132.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...
...nly.

* Array
* The following methods now return Array instances instead of subclass instances when called on subclass instances: 6087
* Array#drop
* Array#drop_while
* Array#flatten
* Array#slice!
* Array#slice / Array#[]
* Array#take
* Array#take_whi...
...le
* Array#uniq
* Array#*
* Can be sliced with Enumerator::ArithmeticSequence

//emlist[][ruby]{
dirty_data = ['--', 'data1', '--', 'data2', '--', 'data3']
dirty_data[(1..).step(2)] # take each second element
# => ["data1", "data2", "data3"]
//}

* Binding
* Binding#eval when c...

絞り込み条件を変える

NEWS for Ruby 2.3.0 (78.0)

NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...した
8976
* コマンドラインオプションに --debug または --debug=frozen-string-literal を付けて実行すると、
freeze
された文字列を操作しようとして RuntimeError が発生したときにそのオブジェクトが生成された位置を表示し...
...k は IO#read_nonblock と同じように `exception: false' オプションをサポートします
11358

* Array
* Array#bsearch_index を追加
10730
* Array#dig を追加
11643

* Comparable
* Comparable#==はもはや例外を rescue しません
7688...
...とバグ修正を除く)

* Array
* Array#select!, Array#keep_if, Array#reject!, Array#delete_if
ブロックが評価される度にレシーバーの配列をすぐに変更しないようになりました。
10714
* Array#flatten と Array#flatten! は与えられたレベ...

NEWS for Ruby 2.4.0 (72.0)

NEWS for Ruby 2.4.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...で return を書けるようになりました 4840

=== 組み込みクラスの更新

* Array
* Array#concat 12333
複数の引数を取れるようになりました。
* Array#max, Array#min 12172
この変更は小さな非互換の原因となります:
Enumerable...
...このようなときは Array#max も再定義してください。
* Array#pack 12754
既にアロケートされているバッファを再利用するためにオプションキーワード引数 buffer: を取るようになりました。
* Array#sum 12217
Enumerable#s...
...nes, IO.foreach は
chomp というキーワード引数を受け付けるようになりました。12553

* Kernel
* Kernel#clone は freeze というキーワード引数を受け付けるようになりました。
12300

* MatchData
* MatchData#named_captures を追加 1...

Marshal フォーマット (48.0)

Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。

...false).unpack1("x2 a*") # => "F"
//}

Ruby 2.1 以前では、インスタンス変数を設定しても dump されません。
Ruby 2.2 以降は freeze されているので、インスタンス変数は設定できません。

=== Fixnum

'i' に続けて Fixnum を表すデータ構造が続...
...スタンス変数を設定しても dump されません。
Ruby 2.0 以降は freeze されているので、インスタンス変数は設定できません。

=== instance of the user class

==== String, Regexp, Array, Hash のサブクラス (インスタンス変数なし)

'C' で始まる...
...|
//}

//emlist[例 1][ruby]{
class Foo < Array # (or String, Regexp, Hash)
end
p Marshal.dump(Foo.new([nil])).unpack("x2 a a c a3 aca*")
# => ["C", ":", 8, "Foo", "[", 6, "0"]
# ^^^ (or '"', '/', '{')
//}

==== String, Regexp, Array, Hash のサブクラス (インスタン...

NEWS for Ruby 2.7.0 (48.0)

NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...ンで止められます。

* 「$,」にnil以外の値を設定すると警告が出るようになりました。 14240
nil以外の時はArray#joinで参照した時も警告が出ます。
この警告は「-W:no-deprecated」オプションで止められます。

* ヒアドキ...
...参照してください。

=== 組み込みクラスの更新 (注目すべきもののみ)

* Array
* 新規メソッド
* Array#intersectionが追加されました。 16155
* Array#minmaxがEnumerable#minmaxより高速な実装として追加されました。 15929

* Comp...
...ました。 15267

//emlist[][ruby]{
File.extname("foo.") #=> "."
//}

* FrozenError
* 新規メソッド
* 変更しようとしたfreezeされたオブジェクトを返すFrozenError#receiverメソッドが
追加されました。FrozenErrorをRubyのコードで発生す...

Psych.safe_load(yaml, legacy_permitted_classes=[], legacy_permitted_symbols=[], legacy_aliases=false, legacy_filename=nil) -> object (43.0)

安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。

...ォルトでは以下のクラスのオブジェクトしか変換しません。

* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash

再帰的なデータ構造はデフォルトでは許可されていません。

任意のクラスを許可するにはキーワード...
..."bar"}
//}

キーワード引数 freeze に true を指定した場合は再帰的に
Object#freeze したオブジェクトを返します。

//emlist[freeze: true の例][ruby]{
require "psych"

data = <<~EOS
aaa:
bbb: [hoge]
EOS

yaml = Psych.load(data, freeze: true)
p yaml
# => {"aaa"=>{"bbb...
...true を指定した場合は変換します。デフォルトでは
文字列に変換されます。
@param freeze true を指定すると再帰的に freeze されたオブジェクトを返します。
デフォルトは false です。...

絞り込み条件を変える

NEWS for Ruby 2.1.0 (30.0)

NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...よるメソッド定義式は nil の代わりにメソッド名をシンボルで返します

=== 組み込みクラスの更新

* Array
* 追加: Array#to_h キーと値のペアの配列をハッシュに変換します。

* Binding
* 追加: Binding#local_variable_get
* 追...
...にプロセス名をセットできます。
* 追加: Process.#clock_gettime
* 追加: Process.#clock_getres

* String
* "literal".freeze は同じオブジェクトを返すように最適化されました。
* 追加: String#scrub, String#scrub! 不正なバイト列を検証...
...Rubyと一緒に使いたいときは string-scrub gem を使います。

* Symbol
* 全てのシンボルは freeze されるようになりました

* pack/unpack (Array/String)
* プラットフォームが対応していれば Q! と q! は long long 型を表します

* topleve...

FrozenError (28.0)

Object#freezeされたオブジェクトを変更しようとした時に発生します。

...Object#freezeされたオブジェクトを変更しようとした時に発生します。


//emlist[例][ruby]{
[1, 2, 3].freeze << 4 # FrozenError: can't modify frozen Array
//}...

NEWS for Ruby 2.5.0 (24.0)

NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...to_s 呼び出しにも refinements が影響するようになりました 13812

=== 組み込みクラスの更新

* Array
* Array#append を追加 12746
* Array#prepend を追加 12746

* Data
* 非推奨になりました。C拡張のベースクラスでしたが、Rubyレベ...
...。 13077
* -"literal" (String#-@) は同じオブジェクトを返すように最適化しました。
(Ruby 2.1以降の "literal".freeze と同じです) 13295
* String#casecmp, String#casecmp? に文字列でない引数を与えた場合、TypeErrorを発生させずにnilを返...
<< 1 2 > >>