関数式の違い
関数は fun(arg) expr という形式と、|arg| expr という形式で作ることが出来ます。
これらは記法の違い以外に、動作の違いもあります。
arg | expr で作った関数は、呼び出しの際、多重代入と同じルールで引数が渡されます。 |
foo: fun{ return 1, 2, 3; } boo: fun(a, b, c) a + b + c; bar: |a, b, c| a + b + c; boo(foo()); // 引数の数が違うという例外が投げられる bar(foo()); // ok