ãåãã¦ã®Rubyã 2ç« é åã¨ããã·ã¥ â»å¾åã®ããã·ã¥
- 2-1 ããã·ã¥
ä½ã§ããªãã¸ã§ã¯ããªRubyãªã®ã§ããã·ã¥ã®ãã¼ããªãã¸ã§ã¯ããã§ããã®ãã¼ã¨å¥ã®ãªãã¸ã§ã¯ãã®å¯¾å¿ä»ããè©°ããã³ã³ãããããã·ã¥ã
ä½ãã«ã¯{}ï¼ä¸æ¬å¼§ï¼ã§å²ã=>ã§ãã¼ã¨å¤ã対å¿ä»ããã®ã§ãè¦ãç®ã¯Perlã§ç¡åããã·ã¥ãä½ãã¨ãã«ä¼¼ã¦ãã
ãã¼ãæå®ãã¦å¤ãåãåºãã¨ãã¯{}ï¼ä¸æ¬å¼§ï¼ã§ã¯ãªã[]ï¼å¤§æ¬å¼§ï¼ã§å¤ãå²ãã
Perlã®undefã«ç¸å½ãããããnilã¨ãããã®ï¼ä¸¡è ã®éããã©ã®ç¨åº¦ããã®ãã¯ã¾ã ç¥ããªãï¼ããããPerlã®existsç¸å½ã®key?ã¡ã½ããã«å ããå®ç¾©ã®ç¯å²å¤ãæå®ããã¨ä¾å¤ãèµ·ããfetchã¡ã½ãããããã
hash = { "ichi" => 1, "ni" => 2, "san" => 3, "yon" => nil, } p hash["ichi"] #=>1 p hash["yon"] #=>nil p hash["go"] #=>nil p hash.key? "yon" #=>true p hash.key? "go" #=>false p hash.fetch("yon") #=>nil p hash.fetch("go") #=>./hash.rb:19:in `fetch': key not found (IndexError) from ./hash.rb:19
fetchã¡ã½ãã以å¤ãPerlã§æ¸ãã¨ãããªæãï¼
my %hash = ( "ichi" => 1, "ni" => 2, "san" => 3, "yon" => undef, ); print $hash{"ichi"} . "\n"; #=>1 print $hash{"yon"} . "\n"; #=>undef print $hash{"go"} . "\n"; #=>undef print exists ($hash{"yon"}) . "\n"; #=>1(ç) print exists ($hash{"go"}) . "\n"; #=>(å½)
Ruby 1.9ãããªãã¸ã§ã¯ãã§ã¯ãªã"ã·ã³ãã«"ã¨ãããã®ããã¼ã«ããããã·ã¥ãç°¡åãªè¨æ³ã§ä½ãããï¼ã·ã³ãã«ã®æ£ä½ã¯4ç« ã§ããããããã»ã»ã»ï¼
hash = { ichi: 1, ni: 2, san: 3, yon: nil } p hash #=>{:rin=>5, :kimiko=>7, :kayo=>nil}
Perlã®foreachã¿ãããªå¦çã¯ãé
åã®æã¨åãeachã¡ã½ããã§æ¸ããã
åãåºãããã¼ã«ãå¤ã«ãååãä»ããããã®ã§å°ãèªã¿ãããæ°ããããï¼Perlã®keysã¨valuesãåæã«ä½¿ããããªï¼
hash = { "ichi" => 1, "ni" => 2, "san" => 3, "yon" => nil, } hash.each do |wamei, atai| puts "#{wamei} = #{atai}" end
Perlã§ãã¼ãå¤ã使ãå ´åã¯ãããªæãã ããã
my %hash = ( "ichi" => 1, "ni" => 2, "san" => 3, "yon" => undef, ); foreach my $wamei (keys %hash){ print "$wamei = $hash{$wamei}\n"; }
ããããã°çã§ææã®ãã¢ã®çµããã«ã,ï¼ã«ã³ãï¼ãå ¥ãã¡ãã£ããã©æ§æã¨ã©ã¼ã«ã¯ãªããªãã£ãããããããã
2.3 Enumerableã¢ã¸ã¥ã¼ã«
ãªããããããããªãï½
ï¼ç¸å¯¾çã«ã¿ã¦ï¼ã·ã³ãã«ãªå®è£ ã®ã¡ã½ããããã¼ã¹ã«æ°ããªã¡ã½ãããä½ãä»çµã¿ã¨ãããããè¤æ°éãã¦ååãä»ããä»çµã¿ãã¢ã¸ã¥ã¼ã«ã£ã¦ãã¨ã§ããã®ããªï¼
æãã1ç« ã«æ¸ãã¦ãã£ãè¨èªãã®ãã®ãã«ã¹ã¿ãã¤ãºããããªã¬ãªã¬è¨èªãä½ãã®ã«éå®ãããã®ã¨æ³åã詳ããã¯å¾ã®ç« ã«æå¾ ãããã»ã»ã»