# 関数. 6. 無名関数(ラムダ、Lambda、Closure、クロージャ)

# PowerShell

{ ... }.Invoke()

ちょっと違うものかも「スクリプトブロック」と呼ばれてる。

以下の違いはなんだろうか。.& はスコープの違いだとか。bash と同じ感じか

$f = { ... }

$f.Invoke()
. $f
& $f

# Python

lambda a, b :

改行するときどうするんだろう?

# Swift

{ (a: Int, b: Int) -> Int in
  return a + b
}

トレイリングクロージャ:
関数の最後の引数がクロージャの場合は、クロージャを () の外に書くことができる。
そのとき、引数名は省略することができる

こう書くのと

Button(action: {
    ..
}, label: {
    ...
})

こう書くので同じ

Button(action: {
    ..
}) {
    ...
}

マルチトレイリングクロージャといって、こうも書ける。

Button() {
    ..
} label: {
    ...
}

# TypeScript

(a: number, b: number): number => {
  return a + b;
}

式が1個なら、{}return も省略可

(a: number, b: number): number => a + b

[ 📩 ご意見 ]