WSOFT-Project / alicescript

The repo for the design of the AliceScript programming language
https://a.wsoft.ws/alice
3 stars 0 forks source link

[PROPOSE]:文字列および配列の反復演算子 #5

Open taiseiue opened 4 months ago

taiseiue commented 4 months ago

文字列および配列の反復演算子

概要

配列や文字列に対して*演算子を使用することで、左辺の全ての要素を右辺で指定された回数繰り返した新しいインスタンスを返したい。

var ary1 = [0, 1, 2];
var ary2 = ary1 * 2;
print(ary2);
//出力: [0, 1, 2, 0, 1, 2]

動機

従来文字列を繰り返すには+演算子を複数回適用していた。反復回数を指定することで、文字列結合よりも用途に特化した最適化を行える。配列も同様。

詳細設計

次の構文をとる。

array * number
string * number

ただし、numberuintの範囲外の場合はWRONG_TYPE_VARIABLE(0x023): 型が一致しないか、変換できません。をスローする。また、number == 0の場合は空の文字列/配列を返す

該当ドキュメント

欠点

誤って使われることがある?

破壊的変更はなし。

前例

なし。

未確定の設計

なし。

taiseiue commented 4 months ago

これ右辺に自然数以外つけたときどうするんや?

taiseiue commented 4 months ago

uintの範囲外やったら例外する方針かな