salano_ym

Results 15 issues of salano_ym

今のAiScript上で`NaN`値は扱いにくいので`error`にする?

bug
enhancement

配列代入時の代入先存在チェックがTODOのまま実装されていないので、範囲外の添字や整数以外の添字でも代入できてしまう ```ts let a = [] a[1] = 'v' // not error

`\"`や`\'`はあるが`\\`が無いためにバックスラッシュが表現できないので`\\`を使えるようにしたい。 `\n`等の制御文字も使えると便利。

parser

需要があると思われるもの ```typescript @Math:log(x: num): num // or Math:ln @Math:log2(x: num): num @Math:log10(x: num): num @Math:tan(x: num): num @Math:asin(x: num): num @Math:acos(x: num): num @Math:atan(x: num): num @(v: arr).index_of(search: str |...

interpreter

`if`式・`match`式・ブロック式で、`return`文・`break`文・`continue`文を使用すると[ラッパー](https://github.com/syuilo/aiscript/blob/master/src/interpreter/value.ts#L120-L134)が外れずに残ってしまう。 `break`文・`continue`文は普通の関数でも残ってしまう。 ## 例 ```

bug

データ構造(≒`obj`)に型名などを付けられるようにして、統一的にデータの種類を区別する方法があると嬉しい。現状でも識別用のプロパティを用意すれば可能だが、別用途のものと衝突する可能性がある。 ### 利点 - 異なるデータ構造を統一的な方法で識別できる - プリミティブ型を増やす必要性が減る ### 問題点 - 既存仕様との兼ね合いが難しい。 ### 関連 - #66 - #75

# What - testのeq関数の引数に型を付けた - それに伴って一部のテストを修正 # Why close #687 # Additional info (optional)

- [ ] `Rand:choice(a: arr, rand?: fn): value` 配列からランダムに1個取り出す - [ ] `Rand:choices(a: arr, count: num, rand?: fn): arr` 配列からランダムにcount個取り出す(重複有) - [ ] `Rand:sample(a: arr, count: num, rand?: fn): arr`...

# What `arr.at`を追加 - `@(v: arr).at(index: num, otherwise?: value): value` https://github.com/aiscript-dev/aiscript/blob/910ad6db7925b14576d88118420e2a73dd59e1d1/docs/primitive-props.md?plain=1#L131-L135 # Why #612 # Additional info (optional)

標準関数周りだけでもカバーしたい。 Codecovが止まってる? https://app.codecov.io/gh/syuilo/aiscript