[過去ログ]
Ruby 初心者スレッド Part 58 [無断転載禁止]©2ch.net (1002レス)
Ruby 初心者スレッド Part 58 [無断転載禁止]©2ch.net http://echo.5ch.net/test/read.cgi/tech/1458735404/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
597: デフォルトの名無しさん [sage] 2016/07/29(金) 19:32:20.85 ID:jkc14IDK nums.each do |key, value| if value%2 == 0 nums[:key] = value end まずこれはeach doに対してendが無いからエラーになる そして:keyはkeyではなく:keyというSymbolなのでこれも間違い nums = {:a=>1, :b=>2, :c=>3, :d=>4, :e=>5, :key=>1} nums[:b] = 2 p nums #=> {:a=>1, :b=>2, :c=>3, :d=>4, :e=>5, :key=>1} 飽くまで:bに対して2を再び関連付けているだけなので間違い どうしても上のような書き方がしたいなら h = Hash.new nums.each do |key, value| if value%2 == 0 h[key] = value end end p h #=> {:b=>2, :d=>4} 👀 Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f) http://echo.5ch.net/test/read.cgi/tech/1458735404/597
598: デフォルトの名無しさん [] 2016/07/29(金) 20:01:51.49 ID:mtfgcrou >>597 やはりあなたはリンクしすぎです ばいばいおさるさん http://echo.5ch.net/test/read.cgi/tech/1458735404/598
599: デフォルトの名無しさん [] 2016/07/29(金) 23:54:22.01 ID:AO+a9SAV 某テキスト(?)のメソッド Enumerable#select! を使うなら、 >>593 と >>595 の先頭を参考にして; nums.select! { |_, val| val.even? } https://ideone.com/Z84zqk もしも同メソッドを使用せずに自前で各要素を列挙するなら: nums.each do |key, val| nums.delete key unless val.even? end https://ideone.com/UqpHHq なお >>597 のように、元の変数 nums の値を(破壊的代入)で更新せず、 結果としての値を求めることを優先するというお題の改変が許されるなら: nums.select { |_, val| val.even? } https://ideone.com/JlEy6w このコードを推奨する http://echo.5ch.net/test/read.cgi/tech/1458735404/599
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.280s*