aiscript
aiscript copied to clipboard
@ を fn にする?
他の一般的な言語と合わせた方が分かりやすい
あと無名関数は() => {}にする?
ちなみにRustやRubyだと|x| x + 1みたいな感じっぽいけど、引数がない場合にlet fn = || 1みたいになるのが論理演算子と被って紛らわしそう
() => { }が「空ブロックの関数」ではなくて「空オブジェクトを返す関数」とパースされる問題あるな
「空オブジェクトを返す関数」を表現したい場合はJSみたいに() => ({ })と書く必要があるようにしたい
@marihachi ↑たすけて
やっぱやめるという手も
一旦revert
() => { }が「空ブロックの関数」ではなくて「空オブジェクトを返す関数」とパースされる問題あるな 「空オブジェクトを返す関数」を表現したい場合はJSみたいに() => ({ })と書く必要があるようにしたい
もしくは現状のように式だけを書くのを不可にするとか?
これ選択の順番変えるだけで直ったりしない?
コード確認してないけど、ブロックよりオブジェクトが先にマッチするから とかそういうことではない?
あーそうかも
でもブロックの優先度を上げると、
let obj = {}
って書いたときに空オブジェクトではなくて空ブロックと判定されそう
仕様がごちゃついてる感じがある 取捨選択が必要かも
これいけそう
|x| x + 1 はちょっとなんか...
(x) => x + 1のほうが良さそう
現状の記法でも割と良い気がしてきた
名前付き関数としては、fnより@のほうが好きかも