-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
連想配列 #225
Comments
This comment was marked as resolved.
This comment was marked as resolved.
オブジェクトを書くときにキーをいちいちクオートで囲まなければいけないのが面倒というのがある |
面倒という以外にも、AiScriptはJavaScriptで書かれたオブジェクトをそのままコピペ可能にしたいという理念が一応ある |
それなら任意の値をキーに設定する構文をJSの計算プロパティ名に合わせたほうが良さそう?(/ω・\)チラッ こんなふうな構文です
|
|
そうね
これも↑と同様にdeep-equal判定で良さそう
弾くことはせず、JSON化できないキー/値は除外する感じになりそう |
キーワードだけどの |
参照が一致するかでも良さそうな? |
参照一致の連想配列は用途が考えづらいと思う |
個人的には普通の比較もdeep-equalに変えたい |
用途で考えるとそうかも.. |
@syuilo 👀 |
deep-eqalで比較したい |
キーワードはdicとかどうかしら |
deep-equalだと循環してスタックオーバーフローするとか起こる?その辺は大丈夫? |
これみたいなやつですね |
deep-equalでも参照の比較は行われるみたいです。 |
比較自体はこれでなんとかなる気がしますがそういう話ではなく? |
|
普通のdeep-equalの実装だと双方のキー(オブジェクトや配列)がそれぞれ同じように循環参照しているとスタックオーバーフローする問題があります。(無限に再帰してマッチするかが確定しないため) const x = { n: null };
x.n = x;
const y = { n: null };
y.n = y;
deepEqual(x, y); |
deep-equalの実装をしてみたので、これで解決できるかも? |
何故か |
バグ修正しました Line 14 in e91af8d
この部分でrefsAを使っていますが、この中に自分自身も含まれているため常に-1以外を返すようになってました。正しくは、自分自身を含む前の状態であるprevRefsAです。 |
deep-equalについては多分これでOKそうです |
オブジェクトとは異なり、任意の値をキーにできる
構文案
The text was updated successfully, but these errors were encountered: