2
皆さん。 Closuresを読むと、インラインクロージャの定義がありません。スウィフトでは、 "インライン閉鎖"の理解方法?
Q1:インラインクロージャでインラインを理解するにはどうすればよいですか?
Q2:「インラインクロージャ」と通常クロージャの違いは何ですか?
ご協力いただきありがとうございます。
皆さん。 Closuresを読むと、インラインクロージャの定義がありません。スウィフトでは、 "インライン閉鎖"の理解方法?
Q1:インラインクロージャでインラインを理解するにはどうすればよいですか?
Q2:「インラインクロージャ」と通常クロージャの違いは何ですか?
ご協力いただきありがとうございます。
インライン値は、中間変数に最初に割り当てられることなく、直接使用される値です。これら2つの例を考える:ここ
let number = 1
print(number)
は、1
は、次に印刷される中間変数、number
、に割り当てられます。
print(1)
ここで、1
は、インラインリテラルで、直接印刷されます。
クロージャについても同様です。ここ
let evenNumberFilter: (Int) -> Bool = { $0 % 2 == 0 }
print((0...10).filter(evenNumberFilter))
、{ $0 % 2 == 0 }
が使用される前に、中間変数evenNumberFilter
に割り当てられている(タイプ(Int) -> Bool
の)閉鎖あります。この場合
print((0...10).filter{ $0 % 2 == 0 })
、{ $0 % 2 == 0 }
を直接使用しました。それはインライン閉鎖です。
ありがとう@Alexander –
@VinothVinoもし私があなたの質問に答えたなら、答えを受け入れてください。 – Alexander