種類
ライブラリ
- ビルトイン (2886)
- abbrev (24)
- bigdecimal (12)
-
cgi
/ core (108) -
cgi
/ session (36) -
cgi
/ session / pstore (12) -
cgi
/ util (12) - coverage (24)
- csv (327)
- date (124)
- dbm (72)
-
digest
/ sha1 (12) -
digest
/ sha2 (36) - drb (36)
-
drb
/ extservm (24) -
drb
/ gw (12) - erb (16)
- etc (12)
- fileutils (12)
- forwardable (48)
- gdbm (84)
- ipaddr (12)
- irb (12)
-
irb
/ inspector (12) - json (288)
-
json
/ add / bigdecimal (24) -
json
/ add / complex (24) -
json
/ add / date (24) -
json
/ add / date _ time (24) -
json
/ add / exception (24) -
json
/ add / ostruct (24) -
json
/ add / range (24) -
json
/ add / rational (24) -
json
/ add / regexp (24) -
json
/ add / struct (24) -
json
/ add / symbol (24) -
json
/ add / time (24) - matrix (24)
-
minitest
/ unit (1) - mkmf (72)
-
net
/ http (120) -
net
/ imap (48) -
net
/ pop (12) - objspace (36)
- open-uri (36)
- open3 (108)
- openssl (108)
- optparse (72)
- ostruct (72)
- pathname (12)
- pstore (84)
- psych (19)
- rake (60)
- rbconfig (36)
-
rbconfig
/ sizeof (24) -
rdoc
/ code _ object (12) -
rdoc
/ context (36) -
rdoc
/ markdown / entities (12) -
rdoc
/ markup / to _ html _ crossref (12) -
rdoc
/ text (12) -
rdoc
/ top _ level (12) -
rexml
/ document (132) -
rexml
/ sax2listener (12) -
rexml
/ streamlistener (12) -
rinda
/ rinda (60) -
rinda
/ tuplespace (60) - rubygems (36)
-
rubygems
/ command (60) -
rubygems
/ commands / dependency _ command (12) -
rubygems
/ config _ file (24) -
rubygems
/ dependency _ installer (12) -
rubygems
/ dependency _ list (12) -
rubygems
/ remote _ fetcher (12) -
rubygems
/ requirement (12) -
rubygems
/ security (36) -
rubygems
/ source _ index (36) -
rubygems
/ source _ info _ cache (72) -
rubygems
/ spec _ fetcher (24) -
rubygems
/ specification (24) - sdbm (72)
- set (14)
- shell (6)
-
shell
/ command-processor (12) -
shell
/ filter (6) - sync (12)
-
syslog
/ logger (12) - tsort (105)
- uri (180)
-
webrick
/ accesslog (12) -
webrick
/ cgi (12) -
webrick
/ config (36) -
webrick
/ httpauth / htdigest (12) -
webrick
/ httpauth / htpasswd (12) -
webrick
/ httprequest (48) -
webrick
/ httpresponse (24) -
webrick
/ https (12) -
webrick
/ httpservlet / filehandler (12) -
webrick
/ httputils (48) -
webrick
/ server (12) -
webrick
/ ssl (24) - win32ole (24)
-
yaml
/ dbm (48) -
yaml
/ store (33)
クラス
- Array (113)
- BigDecimal (36)
- Bignum (3)
- CGI (72)
-
CGI
:: Cookie (12) -
CGI
:: Session :: FileStore (12) -
CGI
:: Session :: MemoryStore (12) -
CGI
:: Session :: NullStore (12) -
CGI
:: Session :: PStore (12) - CSV (276)
-
CSV
:: Row (27) -
CSV
:: Table (24) - Complex (24)
- Coverage (24)
- DBM (60)
-
DRb
:: DRbServer (24) -
DRb
:: ExtServManager (24) - Data (12)
- Date (134)
- DateTime (38)
- ERB (16)
- Encoding (12)
-
Encoding
:: Converter (48) -
Enumerator
:: ArithmeticSequence (7) - Exception (24)
- Float (12)
- GDBM (72)
-
Gem
:: Command (60) -
Gem
:: Commands :: DependencyCommand (12) -
Gem
:: ConfigFile (24) -
Gem
:: DependencyInstaller (12) -
Gem
:: DependencyList (12) -
Gem
:: RemoteFetcher (12) -
Gem
:: Requirement (12) -
Gem
:: SourceIndex (36) -
Gem
:: SourceInfoCache (72) -
Gem
:: SpecFetcher (24) -
Gem
:: Specification (24) - Hash (1182)
- IO (168)
- IPAddr (12)
-
JSON
:: Parser (12) -
JSON
:: State (48) - KeyError (16)
- MatchData (26)
- Matrix (12)
- Method (12)
-
MiniTest
:: Unit (1) - Module (12)
-
Net
:: HTTP (12) -
Net
:: HTTPRequest (12) -
Net
:: HTTPResponse (24) -
Net
:: IMAP (48) -
Net
:: POP3 (12) - Numeric (12)
- Object (72)
-
OpenSSL
:: Config (12) -
OpenSSL
:: SSL :: SSLContext (12) -
OpenSSL
:: X509 :: Extension (12) -
OpenSSL
:: X509 :: ExtensionFactory (36) -
OpenSSL
:: X509 :: Name (12) - OpenStruct (96)
- OptionParser (48)
- PStore (72)
- Pathname (12)
- Proc (18)
-
RDoc
:: CodeObject (12) -
RDoc
:: Context (36) -
RDoc
:: Markdown (12) -
RDoc
:: Markup :: ToHtmlCrossref (12) -
RDoc
:: Options (12) -
RDoc
:: TopLevel (12) -
REXML
:: Attributes (12) -
REXML
:: DocType (24) -
REXML
:: Document (12) -
REXML
:: Element (60) -
REXML
:: XPath (24) -
Rake
:: TaskArguments (60) - Range (36)
- Rational (36)
- Regexp (48)
-
Rinda
:: TupleEntry (12) -
Rinda
:: TupleSpace (48) -
Rinda
:: TupleSpaceProxy (48) -
RubyVM
:: InstructionSequence (72) - SDBM (60)
- Set (20)
- Shell (6)
-
Shell
:: CommandProcessor (12) -
Shell
:: Filter (6) - String (240)
- Struct (75)
- Symbol (24)
-
Syslog
:: Logger (12) - Thread (12)
- Time (38)
-
URI
:: FTP (24) -
URI
:: Generic (48) -
URI
:: HTTP (24) -
URI
:: LDAP (24) -
URI
:: MailTo (24) - UnboundMethod (24)
- Vector (12)
-
WEBrick
:: CGI (12) -
WEBrick
:: GenericServer (12) -
WEBrick
:: HTTPAuth :: Htdigest (12) -
WEBrick
:: HTTPAuth :: Htpasswd (12) -
WEBrick
:: HTTPRequest (48) -
WEBrick
:: HTTPResponse (24) -
WEBrick
:: HTTPServlet :: FileHandler (12) - WIN32OLE (12)
-
YAML
:: DBM (48) -
YAML
:: Store (21)
モジュール
- Abbrev (12)
-
CGI
:: QueryExtension (48) - DRb (12)
- Enumerable (81)
- Etc (12)
- FileUtils (12)
- Forwardable (24)
- GC (60)
-
GC
:: Profiler (12) - Gem (12)
-
Gem
:: QuickLoader (24) -
Gem
:: Security (36) - IRB (12)
- JSON (60)
-
JSON
:: Generator :: GeneratorMethods :: Array (12) -
JSON
:: Generator :: GeneratorMethods :: FalseClass (12) -
JSON
:: Generator :: GeneratorMethods :: Float (12) -
JSON
:: Generator :: GeneratorMethods :: Hash (12) -
JSON
:: Generator :: GeneratorMethods :: Integer (12) -
JSON
:: Generator :: GeneratorMethods :: NilClass (12) -
JSON
:: Generator :: GeneratorMethods :: Object (12) -
JSON
:: Generator :: GeneratorMethods :: String (36) -
JSON
:: Generator :: GeneratorMethods :: String :: Extend (12) -
JSON
:: Generator :: GeneratorMethods :: TrueClass (12) - Kernel (252)
- Marshal (24)
-
Net
:: HTTPHeader (72) - ObjectSpace (48)
- Open3 (108)
- OpenURI (24)
-
OpenURI
:: Meta (12) -
OptionParser
:: Arguable (12) - Psych (19)
-
RDoc
:: Text (12) -
REXML
:: SAX2Listener (12) -
REXML
:: StreamListener (12) - RbConfig (60)
- Signal (12)
- SingleForwardable (24)
-
Sync
_ m (12) - TSort (93)
- URI (24)
-
WEBrick
:: AccessLog (12) -
WEBrick
:: Config (72) -
WEBrick
:: HTTPUtils (36)
オブジェクト
- ENV (250)
キーワード
- % (12)
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - < (10)
- << (12)
- <= (10)
- == (12)
- === (12)
- > (10)
- >= (10)
- BasicAuth (12)
-
CODE
_ CLASS _ TO _ OBJ (12) -
CODE
_ TO _ OBJ (12) - CONFIG (24)
- ConfigMap (12)
- Converters (12)
- DBM (12)
-
DEFAULT
_ ENTITIES (12) -
DEFAULT
_ OPTIONS (24) - DefaultMimeTypes (12)
- DigestAuth (12)
- ENV (12)
- Enumerable (12)
- ExtensionFactory (12)
- FileHandler (12)
- FormData (12)
- GDBM (12)
- GW (12)
- GemPaths (12)
- GemVersions (12)
- General (12)
- Generic (12)
-
HTML
_ ENTITIES (12) - HTTP (12)
-
HTTP
_ STATUS (12) - HandlerTable (12)
- HeaderConverters (12)
- INSPECTORS (12)
- InvalidHashTupleKey (12)
- KeyError (12)
-
LEVEL
_ MAP (12) - LIMITS (12)
- Lazy (12)
-
MAKEFILE
_ CONFIG (12) -
MARSHAL
_ FIELDS (12) - Marshal フォーマット (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 2
. 3 . 0 (10) -
NEWS for Ruby 2
. 4 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 2
. 6 . 0 (7) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (5) - Name (12)
- Numeric (12)
- OPS (12)
- OPT (12)
-
OPT
_ TABLE (12) - OptionParser (12)
-
PATH
_ SEPARATOR (12) - PStore (12)
- Policies (12)
- RHASH (12)
- Ruby用語集 (12)
-
SCRIPT
_ LINES _ _ (12) - SDBM (12)
- SHA1 (12)
- SHA256 (12)
- SHA384 (12)
- SHA512 (12)
- SIZEOF (12)
-
SPECIFICATION
_ VERSION _ HISTORY (12) - SSL (12)
- Set (3)
- Store (12)
-
TABLE
_ FOR _ ESCAPE _ HTML _ _ (12) - TSort (12)
- WIN32OLE (12)
- [] (61)
- []= (36)
-
_ httpdate (12) -
_ iso8601 (12) -
_ jisx0301 (12) -
_ parse (12) -
_ rfc2822 (12) -
_ rfc3339 (12) -
_ rfc822 (12) -
_ strptime (24) -
_ xmlschema (12) - abbrev (24)
-
add
_ attributes (12) -
add
_ class _ or _ module (24) -
add
_ element (12) -
add
_ specs (12) -
alias
_ map (6) - aliases (12)
- assoc (24)
- attributes (12)
- build (120)
- build2 (24)
-
build
_ self _ signed _ cert (12) -
cache
_ data (24) - cgi (12)
-
cgi
/ session (12) - classify (12)
- clear (12)
- clone (12)
- collect (28)
- command (12)
- command= (12)
- compact (15)
- compact! (9)
-
compare
_ by _ identity (12) -
compare
_ by _ identity? (12) - compile (12)
-
compile
_ file (12) -
compile
_ option (12) -
compile
_ option= (12) - conf (12)
- config (48)
- context (12)
- context= (12)
-
count
_ nodes (12) -
count
_ objects (12) -
count
_ objects _ size (12) -
count
_ tdata _ objects (12) -
create
_ ext _ from _ hash (12) -
create
_ extension (24) -
decode
_ www _ form (12) -
deconstruct
_ keys (20) - default (24)
- default= (12)
-
default
_ proc (12) -
default
_ proc= (12) - defaults (12)
- defaults= (12)
- delegate (24)
- delete (36)
-
delete
_ if (24) - difference (7)
- dig (40)
-
digest
/ sha1 (12) -
digest
/ sha2 (12) - dump (24)
- dup (12)
- each (108)
-
each
_ key (24) -
each
_ pair (24) -
each
_ strongly _ connected _ component (23) -
each
_ strongly _ connected _ component _ from (23) -
each
_ value (24) - empty? (12)
- encode (36)
-
encode
_ www _ form (12) - entities (12)
- eql? (60)
- equal? (12)
- except (8)
- exec (48)
- fetch (108)
-
fetch
_ path (12) -
fetch
_ values (20) - files (12)
- filter (64)
- filter! (28)
-
find
_ gems (12) - flatten (12)
- foreach (24)
-
form
_ data= (12) - format (12)
-
from
_ state (12) - generate (24)
-
generate
_ line (12) - getopts (60)
-
group
_ by (24) - gsub (48)
- gsub! (48)
-
handle
_ interrupt (12) -
has
_ key? (12) -
has
_ value? (12) - hash (265)
-
hash
_ old (12) - header (36)
- include? (12)
- index (7)
- inspect (36)
- instance (24)
-
instance
_ delegate (12) - intersection (6)
- invert (60)
- invoke (12)
-
irb
/ completion (12) -
is
_ a? (12) -
json
_ create (156) -
keep
_ if (48) - key (20)
- key? (12)
- keys (12)
-
kind
_ of? (12) -
latest
_ cache _ data (12) -
latest
_ gc _ info (24) -
latest
_ specs (12) - length (12)
- list (12)
-
load
_ mime _ types (12) - map (28)
-
mark
_ hashentry (12) - match (12)
- member? (12)
- merge (24)
- merge! (24)
- modifiable (12)
-
named
_ captures (24) - namespaces (12)
- new (192)
- numhash (12)
- open (48)
-
open
_ uri (24) - optparse (12)
- out (12)
- owner (12)
- params (12)
- params= (12)
- parse (48)
-
parse
_ header (12) -
parse
_ line (12) -
peek
_ result (12) - pipeline (12)
-
pipeline
_ r (24) -
pipeline
_ rw (24) -
pipeline
_ start (24) -
pipeline
_ w (24) - popen (168)
-
post
_ form (12) - pp (12)
-
pretty
_ generate (12) -
pretty
_ unparse (12) -
primitive
_ convert (48) -
process
_ args (1) - query (12)
- rassoc (24)
-
raw
_ data (12) -
rb
_ f _ hash (12) -
rb
_ mark _ hash (12) - rdoc (12)
- read (36)
-
read
_ all (24) -
read
_ cache _ data (12) - readlines (12)
- receiver (8)
- rehash (54)
- reject (96)
- reject! (24)
- replace (72)
- reset (8)
-
reset
_ cache _ for (12) - restore (48)
- result (20)
-
result
_ with _ hash (8) -
rexml
/ parsers / pullparser (12) -
rexml
/ parsers / ultralightparser (12) -
rm
_ f (12) -
rm
_ rf (12) - root? (12)
- roots (12)
- rss (12)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 2 feature (12) -
ruby 1
. 8 . 4 feature (12) -
ruby 1
. 9 feature (12) -
ruby2
_ keywords (18) -
ruby2
_ keywords _ hash? (6) -
safe
_ load (19) - select (60)
- select! (48)
- set (9)
-
set
_ cache _ data (12) -
set
_ form _ data (12) -
set
_ params (12) -
setup
_ params (12) - shift (12)
-
show
_ hash (12) -
single
_ delegate (12) - size (12)
- slice (15)
- spawn (48)
-
spec
_ predecessors (12) -
specific
_ extra _ args _ hash (12) - specs (12)
- sprintf (12)
- sprintf フォーマット (12)
-
ssl
_ params (12) -
st
_ copy (12) -
st
_ foreach (12) -
st
_ init _ table (12) -
st
_ init _ table _ with _ size (12) -
start
_ element (12) -
start
_ service (12) - starttls (24)
- stat (24)
-
stat
_ col (12) - store (12)
- strhash (12)
-
strip
_ hashes (12) -
strongly
_ connected _ components (12) - sub (36)
- sub! (36)
-
sync
_ sh _ locker (6) -
sync
_ sh _ locker= (6) - system (48)
- table (12)
-
tag
_ start (12) - take (24)
- tally (10)
-
to
_ a (24) -
to
_ csv (12) -
to
_ h (139) -
to
_ hash (120) -
to
_ json (252) -
to
_ json _ raw (12) -
to
_ json _ raw _ object (12) -
to
_ proc (10) -
to
_ s (48) -
transform
_ keys (20) -
transform
_ keys! (20) -
transform
_ values (18) -
transform
_ values! (18) -
try
_ convert (12) -
try
_ do (24) - tsort (24)
-
tsort
_ each (23) -
type
_ params (12) - uname (12)
- union (7)
-
unmatched
_ alias _ lists (12) -
unmatched
_ alias _ lists= (12) - unparse (12)
- update (48)
- value (12)
- value? (12)
- values (12)
-
values
_ at (12) -
verify
_ compaction _ references (6) -
webrick
/ cgi (12) -
with
_ defaults (12) - write (24)
- xmlrpc (3)
- xsystem (12)
- yaml (12)
- | (12)
- パターンマッチ (12)
- メソッド呼び出し(super・ブロック付き・yield) (12)
- リテラル (12)
検索結果
先頭5件
-
Hash (38030.0)
-
ハッシュテーブル(連想配列とも呼ぶ)のクラスです。ハッシュは任意の種類のオブ ジェクト(キー)から任意の種類のオブジェクト(値)への関連づけを行うことができます。
...クト(値)への関連づけを行うことができます。
ハッシュ生成は多くの場合以下のようなリテラル (d:spec/literal#hash) で行われます。
{a => b, ... } # aはキー、bは値となる
{s: b , ... } # { :s => b, ... } と同じ。キーがシンボル......ある必要があります。
* Object#hash ハッシュの格納に用いられるハッシュ値の計算
* Object#eql? キーの同一性判定
破壊的操作によってキーとして与えたオブジェクトの内容が変化し、Object#hash の返す
値が変わるとハッシュ......から値が取り出せなくなりますから、
Array、Hash
などのインスタンスはキーに向きません。Hash#rehash を参照。
ただし、 更新不可 (Object#frozen? が true) では無い文字列をキーとして与えた場合は、文字列をコピーし、コピーを... -
Hash
. ruby2 _ keywords _ hash?(hash) -> bool (27214.0) -
Module#ruby2_keywordsやProc#ruby2_keywordsによる ruby2_keywords フラグが設定されているかどうかを返します。
...れていません。
ruby 2.7.1 で追加されたため、ruby 2.7.0 では定義されていません。
//emlist[][ruby]{
ruby2_keywords def foo(*args)
Hash.ruby2_keywords_hash?(args.last)
end
foo(k: 1) # => true
foo({k: 1}) # => false
//}
@see Module#ruby2_keywords, Proc#ruby2_keywords... -
Hash
# to _ hash -> self (27149.0) -
self を返します。
...self を返します。
//emlist[例][ruby]{
hash = {}
p hash.to_hash # => {}
p hash.to_hash == hash # => true
//}
@see Object#to_hash, Hash#to_h... -
Hash
# hash -> Integer (27113.0) -
自身が保持するキーと値のハッシュ値を元にして算出した整数を返します。 自身が保持するキーや値が変化すればこのメソッドが返す値も変化します。
...自身が保持するキーと値のハッシュ値を元にして算出した整数を返します。
自身が保持するキーや値が変化すればこのメソッドが返す値も変化します。
//emlist[例][ruby]{
a = {}
p a.hash #=> 0
a[1] = :x
p a.hash #=> 329543
//}... -
Hash
# rehash -> self (27112.0) -
キーのハッシュ値を再計算します。
...raise RuntimeError Hash#eachなどのイテレータの評価途中でrehashすると発生します。
@return selfを返します。
//emlist[例][ruby]{
a = [ "a", "b" ]
h = { a => 100 }
p h[a] #=> 100
a[0] = "z"
p h[a] #=> nil
h.rehash
p h[a] #=> 100
//}
@see Object#hash... -
Hash
. new {|hash , key| . . . } -> Hash (21290.0) -
空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値はHash#default_procで参照できます。
...空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま
す。設定したデフォルト値はHash#default_procで参照できます。
値が設定されていないハッシュ要素を参照するとその都度ブロックを
実行し、そ......ォルト値は全部同一のオブジェクトなので、
# 破壊的変更によって他のキーに対応する値も変更されます。
h = Hash.new("foo")
p h[1] #=> "foo"
p h[1].object_id #=> 6127170
p h[1] << "bar" #=> "foobar"
p h[1] #=>......まだ無いキーが呼び出される度に
# ブロックを評価するので、全て別のオブジェクトになります。
h = Hash.new {|hash, key| hash[key] = "foo"}
p h[1] #=> "foo"
p h[1].object_id #=> 6126900
p h[1] << "bar" #=> "foobar"
p h[1]... -
Hash
# transform _ keys(hash) -> Hash (21227.0) -
すべてのキーに対してブロックを呼び出した結果で置き換えたハッシュを返します。 値は変化しません。
...べてのキーに対してブロックを呼び出した結果で置き換えたハッシュを返します。
値は変化しません。
@param hash 置き換え前のキーから置き換え後のキーへのハッシュを指定します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.tran......") # => {"a"=>1, :b=>2, :c=>3}
h.transform_keys(&:to_s) # => {"a"=>1, "b"=>2, "c"=>3}
h.transform_keys.with_index {|k, i| "#{k}.#{i}" }
# => {"a.0"=>1, "b.1"=>2, "c.2"=>3}
//}
@see Hash#transform_keys!
@see Hash#transform_values
@see Hash#transform_values!... -
Hash
# to _ h -> self | Hash (21206.0) -
self を返します。Hash クラスのサブクラスから呼び出した場合は self を Hash オブジェクトに変換します。
...す。Hash クラスのサブクラスから呼び出した場合は
self を Hash オブジェクトに変換します。
//emlist[例][ruby]{
hash = {}
p hash.to_h # => {}
p hash.to_h == hash # => true
class MyHash < Hash;end
my_hash = MyHash.new
p my_hash.to_h # => {}
p my_hash.clas......s # => MyHash
p my_hash.to_h.class # => Hash
//}
ブロックを指定すると各ペアでブロックを呼び出し、
その結果をペアとして使います。
//emlist[ブロック付きの例][ruby]{
hash = { "a" => 97, "b" => 98 }
hash.to_h {|key, value| [key.upcase, value-32] } #... -
Hash
# to _ h {|key , value| block } -> Hash (21206.0) -
self を返します。Hash クラスのサブクラスから呼び出した場合は self を Hash オブジェクトに変換します。
...す。Hash クラスのサブクラスから呼び出した場合は
self を Hash オブジェクトに変換します。
//emlist[例][ruby]{
hash = {}
p hash.to_h # => {}
p hash.to_h == hash # => true
class MyHash < Hash;end
my_hash = MyHash.new
p my_hash.to_h # => {}
p my_hash.clas......s # => MyHash
p my_hash.to_h.class # => Hash
//}
ブロックを指定すると各ペアでブロックを呼び出し、
その結果をペアとして使います。
//emlist[ブロック付きの例][ruby]{
hash = { "a" => 97, "b" => 98 }
hash.to_h {|key, value| [key.upcase, value-32] } #... -
Hash
# to _ h -> self | Hash (21193.0) -
self を返します。Hash クラスのサブクラスから呼び出した場合は self を Hash オブジェクトに変換します。
...す。Hash クラスのサブクラスから呼び出した場合は
self を Hash オブジェクトに変換します。
//emlist[例][ruby]{
hash = {}
p hash.to_h # => {}
p hash.to_h == hash # => true
class MyHash < Hash;end
my_hash = MyHash.new
p my_hash.to_h # => {}
p my_hash.clas......s # => MyHash
p my_hash.to_h.class # => Hash
//}... -
Hash
. new(ifnone = nil) -> Hash (21155.0) -
空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。
...fnone はキーに対
応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。
ifnoneを省略した Hash.new は {} と同じです。
デフォルト値として、毎回同一のオブジェクトifnoneを返します......。
それにより、一箇所のデフォルト値の変更が他の値のデフォルト値にも影響します。
//emlist[][ruby]{
h = Hash.new([])
h[0] << 0
h[1] << 1
p h.default #=> [0, 1]
//}
これを避けるには、破壊的でないメソッドで再代入する必要が有ります......[例][ruby]{
h = Hash.new([])
p h[1] #=> []
p h[1].object_id #=> 6127150
p h[1] << "bar" #=> ["bar"]
p h[1] #=> ["bar"]
p h[2] #=> ["bar"]
p h[2].object_id #=> 6127150
p h #=> {}
h = Hash.new([].freeze)...