[過去ログ] 次世代言語11[Rust Swift TypeScript Dart] (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
852
(2): 844 [sage] 2018/07/01(日) 08:32:31.95 ID:YZ+qvhoO(2/2) AAS
クロージャ(block)内のbreak は、クロージャを抜けるだけで、外側の関数は抜けない。
関数の最後まで実行される

クロージャ内のnext は、次の繰り返しに進むだけで、クロージャも抜けない。
クロージャの最後まで実行される

def f
num = 0
(0..5).each do |i|
num = i
break if i == 3
end
puts num
end

f() #=> 3
857
(8): デフォルトの名無しさん [] 2018/07/01(日) 09:23:49.76 ID:FQlsc9Xo(2/5) AAS
>>852
あなたが closure だからと主張する、block は 952の挙動だが Proc では break は例外吐くらしいけど何で?

# 言っちゃ悪いが、closure は定義した時点での環境を基準に動作が普通だと思うんで、
# ループ外で定義されているならば next/break は一律例外吐くで無いと一貫性がないようにしか見えん。
858: デフォルトの名無しさん [] 2018/07/01(日) 09:24:49.31 ID:FQlsc9Xo(3/5) AAS
>>857
すまん、「block は >>852の挙動」だな。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.433s*