Results 30 comments of Take-John

@FineArchs `aiscript-dev/master`でなくフォークの`master`へのプルリクエストなのは何か意図があるのですか?

> 今`arr[-1]`はindex out of rangeエラーになる仕様なので、`[..]`記法もそちらに揃えた方が分かりやすいのではないかと思います 末尾からの位置をやるなら、`arr.at()`が負のインデックス対応なのでそちらでやりたいです。 range型の構造を工夫すればなんとか…? `arr.at(start..end)`が部分配列を返す感じですかね? 従来の`arr.at()`は1つの要素を返すので`arr.slice()`か新規の関数にしたいです。

よく考えると、数値リテラルの小数部分を省略できるようになると、`1..to_str`がスライス記法か数値に対するプロパティアクセスなのかの曖昧性が出てきますね……。 数値リテラルのプロパティアクセスは滅多に書かないと思うので、それは`(1.).to_str`と書くようにして、`1..to_str`はスライス記法とすることになりそうですね。 ~~もしも #953 がマージされたら、すぐに`..`をトークナイズできるようにして、とりあえずは`1..to_str`がエラーになるようにしないと……~~ #953 において、`1..to_str`がエラーになるようにしました。

#981 のような今後の言語拡張において混乱を生じうる ``` 1..to_str ``` のような書き方はエラーになるようにしました。

@poppingmoon コメントありがとうございます 🙏 > 型に関するエラーは `TypeSource` を `Type` に変換する部分にもあり、そこでは `AiScriptSyntaxError` が使われているので、 `AiScriptTypeError` という名前は適切ではないように思います `AiScriptSyntaxError`に変更しました。 > `TypeParam` にも `loc` を持たせて、 これはバグ修正だけでなく機能追加(APIの変更)の面もあるので次のマイナーリリースで検討したいと思います。

現在のリリース版では既に、存在しない型の名前を書いたり、`str`のように型引数を受け付けない型に型引数を書いたりするとエラーになるので、この例に従うとジェネリック型に型引数を与えた場合もエラーにすべきかなと思っています……