[過去ログ] スレ立てるまでもない質問はここで 161匹目 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
138(3): 2022/09/20(火)23:09 ID:/Bvo4oH4(1) AAS
Ruby のブロック変数・num, hash, abc にはスコープある。
ブロックには、do〜end と、{ } があって、前後の結合度の強弱が異なる。
each_with_object は蓄積変数・hash
ary = [ 1, 2 ]
num = "num"
hash = { a: 10 }
abc = "abc"
p res = ary.each_with_object( { } ) { |num, hash; abc|
num += 1
abc = num
hash[ abc ] = true
}
#=> {2=>true, 3=>true}
p num #=> "num"
p hash #=> {:a=>10}
p abc #=> "abc"
180: 2022/09/24(土)17:40 ID:rKhoIQX5(1) AAS
>>138
Rubyで、{・・・} の方のブロックって、普通の場所にいきなり書けたっけ?
181(3): 138 2022/09/24(土)22:26 ID:L5pk3riv(1) AAS
Ruby でファイルのトップレベルでも、do〜end, { } を使える。
以下は両方とも、[2, 3] と出力される
VSCode の拡張機能・Code Runner で、
選択したコード片を右クリックメニューから実行する
ary = [ 1, 2 ]
p res_1 = ary.map { |num| num + 1 }
res_2 = ary.map do |num| num + 1; end
p res_2
195: 138 2022/09/25(日)23:24 ID:EaCGv7B5(1) AAS
>>181
Ruby では、Enumerable モジュールの戻り値は、
ブロックの有無によって、2種類ある
map { |item| ... } -> [object]
map -> Enumerator
ブロックを渡さない場合は、Enumerator を返して、
外部イタレータとして扱える
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.177s