aiscript icon indicating copy to clipboard operation
aiscript copied to clipboard

@ を fn にする?

Open syuilo opened this issue 3 years ago • 15 comments

他の一般的な言語と合わせた方が分かりやすい

syuilo avatar Jul 10 '22 02:07 syuilo

あと無名関数は() => {}にする? ちなみにRustやRubyだと|x| x + 1みたいな感じっぽいけど、引数がない場合にlet fn = || 1みたいになるのが論理演算子と被って紛らわしそう

syuilo avatar Jul 31 '22 12:07 syuilo

() => { }が「空ブロックの関数」ではなくて「空オブジェクトを返す関数」とパースされる問題あるな 「空オブジェクトを返す関数」を表現したい場合はJSみたいに() => ({ })と書く必要があるようにしたい

syuilo avatar Aug 01 '22 03:08 syuilo

@marihachi ↑たすけて

syuilo avatar Aug 01 '22 03:08 syuilo

やっぱやめるという手も

syuilo avatar Aug 01 '22 03:08 syuilo

一旦revert

syuilo avatar Aug 01 '22 03:08 syuilo

() => { }が「空ブロックの関数」ではなくて「空オブジェクトを返す関数」とパースされる問題あるな 「空オブジェクトを返す関数」を表現したい場合はJSみたいに() => ({ })と書く必要があるようにしたい

もしくは現状のように式だけを書くのを不可にするとか?

syuilo avatar Aug 01 '22 03:08 syuilo

これ選択の順番変えるだけで直ったりしない?

marihachi avatar Aug 01 '22 03:08 marihachi

コード確認してないけど、ブロックよりオブジェクトが先にマッチするから とかそういうことではない?

marihachi avatar Aug 01 '22 03:08 marihachi

あーそうかも

syuilo avatar Aug 01 '22 03:08 syuilo

でもブロックの優先度を上げると、

let obj = {}

って書いたときに空オブジェクトではなくて空ブロックと判定されそう

syuilo avatar Aug 01 '22 03:08 syuilo

仕様がごちゃついてる感じがある 取捨選択が必要かも

marihachi avatar Aug 01 '22 04:08 marihachi

これいけそう

marihachi avatar Aug 14 '22 12:08 marihachi

|x| x + 1 はちょっとなんか...

(x) => x + 1のほうが良さそう

marihachi avatar Aug 14 '22 12:08 marihachi

現状の記法でも割と良い気がしてきた

syuilo avatar Aug 30 '22 09:08 syuilo

名前付き関数としては、fnより@のほうが好きかも

marihachi avatar Aug 31 '22 12:08 marihachi