menu
書いてる野郎
orebike@gmail.com
コードの見た目の柔軟性を重視しすぎているためイロイロな書き方ができるようになっている。 Ruby から影響をうけているのだが乱用しすぎて迷惑に近いと思う。
Java と同じ、括弧で引数を渡して実行する
hoge("abc", 123)
関数宣言で使っている仮引数名を指定してパラメータを渡すことができる。
hoge(piyo = "abc", fuga = 123)
関数の宣言時に明示的に引数が無いことを示して作る(引数の括弧をつけないで作る)と呼び出す場合も括弧なしで呼び出すことができる
var hoge = piyo
あたかも piyo という値が存在するかのように書けるのがネライ
引数が1つの場合は特別なパラメータの渡し方ができて、このように括弧を省略してスペース区切りでパラメータを渡すことができる
hoge "This is a hoge"
あたかも hoge という設定の値に “This is a hoge” を指定するための設定ファイルのような書き方ができるとうのがネライ
「引数が1つの場合の関数呼び出し」の応用で、その唯一の引数が関数の場合、何かの制御ブロックのような見た目で書くことができる
hoge { x => x.y }
あたかも if とか for とかと同じように文法上 hoge が用意されているかと錯覚するように書ける
Scala のコーディング規約で if 等のブロックの書き方がこのようにスペースを開けろとなっているのも、 この擬似ブロック記述と同一化させるためと思われる。
if (true) { // .... }
関数を1つ引数に取る関数を返し引数を1つ取る関数 hoge を作るならば、このように書ける
hoge ("abc") { // .... }
if と見た目上同じになる。