1006件ヒット
[1001-1006件を表示]
(0.095秒)
ライブラリ
- ビルトイン (445)
-
bigdecimal
/ ludcmp (12) -
bigdecimal
/ newton (12) - coverage (32)
- etc (48)
- getoptlong (36)
- logger (1)
-
minitest
/ spec (2) - mkmf (24)
- openssl (24)
- pp (12)
- rake (36)
-
rake
/ packagetask (12) -
rdoc
/ markup (12) -
rexml
/ document (24) -
rubygems
/ command (12) -
rubygems
/ indexer (12) - syslog (156)
- win32ole (60)
クラス
- BasicObject (24)
- Coverage (32)
- Exception (44)
- Fiber (18)
-
Gem
:: Command (12) -
Gem
:: Indexer (12) - GetoptLong (36)
- Hash (8)
-
Logger
:: Application (1) -
MiniTest
:: Spec (2) - Object (16)
-
OpenSSL
:: Digest (12) -
OpenSSL
:: SSL :: SSLContext (12) -
RDoc
:: Markup (12) -
REXML
:: Text (12) -
Rake
:: InvocationChain (12) -
Rake
:: PackageTask (12) - Random (8)
- Thread (36)
- TracePoint (165)
- WIN32OLE (24)
-
WIN32OLE
_ EVENT (12) -
WIN32OLE
_ PARAM (12)
モジュール
- Enumerable (12)
- Etc (48)
- Kernel (124)
- LUSolve (12)
- Newton (12)
-
Rake
:: TaskManager (24) -
RubyVM
:: MJIT (14) - Syslog (156)
キーワード
- == (12)
- Document (12)
-
NEWS for Ruby 2
. 3 . 0 (10) - WIN32OLERuntimeError (12)
- abort (24)
-
add
_ word _ pair (12) - after (1)
- alert (12)
- append (12)
- before (1)
-
bigdecimal
/ newton (12) -
callee
_ id (12) - cause (12)
- chunk (12)
- crit (12)
- debug (12)
- define (12)
- disable (24)
- emerg (12)
- enable (24)
-
enhance
_ with _ matching _ rule (12) - err (12)
- eval (24)
-
eval
_ script (7) - event (12)
- execute (12)
- fail (12)
- freeze (4)
- group (24)
-
handle
_ interrupt (12) - info (12)
- inspect (12)
-
instance
_ eval (24) -
instruction
_ sequence (7) - lineno (12)
- ludecomp (12)
- mask (12)
-
method
_ id (12) -
method
_ missing (12) - new (68)
- nlsolve (12)
- notice (12)
-
ole
_ show _ help (12) - open (24)
- open! (12)
- ordering= (12)
- parameters (7)
- paranoid (12)
- passwd (24)
- path (12)
- pause (7)
-
peek
_ result (12) -
pending
_ interrupt? (12) -
pretty
_ print _ inspect (12) - raise (42)
-
raised
_ exception (12) -
renegotiation
_ cb= (12) - reopen (12)
- result (12)
- resume (7)
-
return
_ value (12) - start (9)
-
synthesize
_ file _ task (12) - system (28)
- terminate (12)
-
try
_ do (24) - urandom (8)
- warning (12)
- 制御構造 (12)
検索結果
-
Hash
. new(ifnone = nil) -> Hash (12.0) -
空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。
...ultで参照できます。
ifnoneを省略した Hash.new は {} と同じです。
デフォルト値として、毎回同一のオブジェクトifnoneを返します。
それにより、一箇所のデフォルト値の変更が他の値のデフォルト値にも影響します。
//emlist[......][ruby]{
h = Hash.new([])
h[0] << 0
h[1] << 1
p h.default #=> [0, 1]
//}
これを避けるには、破壊的でないメソッドで再代入する必要が有ります。
また、このようなミスを防ぐためにもifnoneは freeze して破壊的操作を禁止しておくのが無難で......#=> ["bar"]
p h[1] #=> ["bar"]
p h[2] #=> ["bar"]
p h[2].object_id #=> 6127150
p h #=> {}
h = Hash.new([].freeze)
h[0] += [0] #破壊的でないメソッドはOK
h[1] << 1
# エラー: can't modify frozen Array (RuntimeError)
//}... -
Hash
. new {|hash , key| . . . } -> Hash (2.0) -
空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値はHash#default_procで参照できます。
...default_procで参照できます。
値が設定されていないハッシュ要素を参照するとその都度ブロックを
実行し、その結果を返します。
ブロックにはそのハッシュとハッシュを参照したときのキーが渡されます。
@raise ArgumentError......します。
//emlist[例][ruby]{
# ブロックではないデフォルト値は全部同一のオブジェクトなので、
# 破壊的変更によって他のキーに対応する値も変更されます。
h = Hash.new("foo")
p h[1] #=> "foo"
p h[1].object_id #=> 61271......70
p h[1] << "bar" #=> "foobar"
p h[1] #=> "foobar"
p h[2] #=> "foobar"
p h[2].object_id #=> 6127170
p h #=> {}
# ブロックを与えると、対応する値がまだ無いキーが呼び出される度に
# ブロックを評...