別のキーワード
種類
- インスタンスメソッド (55)
- 特異メソッド (22)
- 文書 (11)
- ライブラリ (11)
キーワード
- [] (22)
- default= (11)
- fetch (44)
-
ruby 1
. 6 feature (11) - tsort (11)
検索結果
先頭5件
-
Hash
# default=(value) (62112.0) -
ハッシュのデフォルト値を value に変更します。対応する値が存 在しないキーで検索した時にはこの値を返すようになります。
...ロックを含む)が既に設定してあった場合も value で上書きします。
@param value 設定するデフォルト値です。
@return value を返します。
//emlist[例][ruby]{
h = {}
p h.default #=>nil
h.default = "default"
p h.default #=>"default"
//}
@see Hash#default... -
Hash
. [](*key _ and _ value) -> Hash (21148.0) -
新しいハッシュを生成します。 引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。
...になります。
このメソッドでは生成するハッシュにデフォルト値を指定することはできません。
Hash.newを使うか、Hash#default=で後から指定してください。
@param key_and_value 生成するハッシュのキーと値の組です。必ず偶数個(......][ruby]{
ary = [1,"a", 2,"b", 3,["c"]]
p Hash[*ary] # => {1=>"a", 2=>"b", 3=>["c"]}
//}
(2) キーと値のペアの配列からハッシュへ
//emlist[][ruby]{
alist = [[1,"a"], [2,"b"], [3,["c"]]]
p alist.flatten(1) # => [1, "a", 2, "b", 3, ["c"]]
p Hash[*alist.flatten(1)] # => {1=>"a", 2=>"b......ls].transpose
p alist # => [[1, "a"], [2, "b"], [3, ["c"]]]
p Hash[alist] # => {1=>"a", 2=>"b", 3=>["c"]}
//}
(4) キーや値が配列の場合
//emlist[][ruby]{
alist = [[1,["a"]], [2,["b"]], [3,["c"]], [[4,5], ["a", "b"]]]
hash = Hash[alist] # => {1=>["a"], 2=>["b"], 3=>["c"], [4, 5]=>["a", "b... -
Hash
. [](other) -> Hash (21133.0) -
新しいハッシュを生成します。 引数otherと同一のキーと値を持つ新たなハッシュを生成して返します。
...のキーと値を持つ新たなハッシュを生成して返します。
引数otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
デフォルト値はコピーしません。生成されたハッシュのデフォルト値は nil......します。
@param other 生成元となるハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
//emlist[][ruby]{
h = {1 => "value"}
h.default = "none"
g = Hash[h]
p g #=> {1=>"value"}
p h[:no] #=> "none"
p g[:no] #=> nil
h[:add] = "some"
p h #... -
Hash
# fetch(key) -> object (21012.0) -
key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。
...o not exist"
"#{key} not exist" # warning: block supersedes default value argument
} # 警告が表示される。
h.default = "default"
p h.fetch(:two) # エラー key not found (KeyError)
//}
@see Hash#[]......wo not exist"
"#{key} not exist" # warning: block supersedes default value argument
} # 警告が表示される。
h.default = "default"
p h.fetch(:two) # エラー key not found (KeyError)
//}
@see Hash#[]... -
Hash
# fetch(key) {|key| . . . } -> object (21012.0) -
key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。
...o not exist"
"#{key} not exist" # warning: block supersedes default value argument
} # 警告が表示される。
h.default = "default"
p h.fetch(:two) # エラー key not found (KeyError)
//}
@see Hash#[]......wo not exist"
"#{key} not exist" # warning: block supersedes default value argument
} # 警告が表示される。
h.default = "default"
p h.fetch(:two) # エラー key not found (KeyError)
//}
@see Hash#[]... -
Hash
# fetch(key , default) -> object (21012.0) -
key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。
...o not exist"
"#{key} not exist" # warning: block supersedes default value argument
} # 警告が表示される。
h.default = "default"
p h.fetch(:two) # エラー key not found (KeyError)
//}
@see Hash#[]......wo not exist"
"#{key} not exist" # warning: block supersedes default value argument
} # 警告が表示される。
h.default = "default"
p h.fetch(:two) # エラー key not found (KeyError)
//}
@see Hash#[]... -
ruby 1
. 6 feature (72.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...うです。
((<ruby-win32:273>))
: 2002-08-12 Hash#==
Hash オブジェクトはデフォルト値 (((<Hash/default>))) も == で等しい
ときに等しいとみなされるようになりました。
p Hash.new("foo") == Hash.new("bar")
=> ruby 1.6.7 (2002-03-01) [i586......ソッドの戻り値
以下のメソッドの戻り値が正しくなりました。
((<ruby-bugs-ja:PR#182>)), ((<rubyist:1016>))
* Hash#default= が右辺を返すようになった(以前は self を返していた)。
* Dir#pos= が右辺を返すようになった(以前は self を......Bignum も受け付けるようになりました(long int の範囲をカバー
するため)
== 1.6.3 (2001-03-19) -> 1.6.4 (2001-06-04)
: ((<Hash>))#replace
ハッシュのイテレート中に、そのハッシュのある要素を削除して、
他のハッシュへreplaceするとAbo... -
tsort (12.0)
-
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
...トポロジカルソートと強連結成分に関するモジュールを提供します。
=== Example
//emlist[][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
{1=>[2, 3], 2=>[3],......似たツールは以下のように実装できます。
//emlist[][ruby]{
require 'tsort'
class Make
def initialize
@dep = {}
@dep.default = []
end
def rule(outputs, inputs=[], &block)
triple = [outputs, inputs, block]
outputs.each {|f| @dep[f] = [triple]}
@dep[triple]... -
PStore
# fetch(name , default = PStore :: Error) -> object (7.0) -
ルートnameに対応する値を得ます。
...]
ary = db["root"] = [1,2,3,4]
ary[0] = [1,1.5]
end
db.transaction(true) do |pstore|
pstore.fetch("root") # => [[1, 1.5], 2, 3, 4]
pstore.fetch("root", 'aaa') # => [[1, 1.5], 2, 3, 4]
pstore.fetch("not_root") # => 例外発生
end
@see Hash#fetch, PStore#[]...