range
ある範囲の要素を含む配列を作成する
&reftitle.description;
arrayrange
stringintfloatstart
stringintfloatend
intfloatstep1
ある範囲の要素を含む配列を作成します。
start と end
が両方文字列で、かつ step が整数の場合、
生成される配列はバイト列のシーケンスになります。
そうでない場合、生成される配列は数値のシーケンスになります。
start が end
よりも小さい場合、シーケンスは増加します。
そうでない場合、シーケンスは減少します。
&reftitle.parameters;
start
シーケンスの最初の値。
end
シーケンスの最後としてあり得る値。
step
step は、生成されるシーケンスの個別の値が
どれくらい離れているかを指定します。
シーケンスが減少する場合、step
は負の値を指定しても構いません。
step が 端数のない float
の場合、整数として解釈されます。
&reftitle.returnvalues;
要素のシーケンスを配列として返します。
最初の要素は start になり、
end になるまで続きます。
シーケンスのそれぞれの値は、step だけ離れています。
返される配列の最後の要素は、
end または シーケンスの直前の要素になります。
どちらになるかは、step の値によります。
start と end
が両方文字列で、かつ step が整数の場合、
生成される配列は、バイト列のシーケンスになります。
一般的にはラテン文字の ASCII 文字からなるシーケンスです。
start, end, step のうち少なくともひとつが float の場合、
生成される配列は float のシーケンスになります。
その他の場合、生成される配列は整数のシーケンスになります。
&reftitle.errors;
step が 0 の場合、ValueError がスローされます。
start, end, step が有限の値(is_finite) でない場合、
ValueError がスローされます。
step が負の値なのに、生成される範囲が増えている(つまり、 $start <= $end) 場合、
ValueError がスローされます。
start または end が空文字列 '' の場合、E_WARNING が発生し、空文字列は 0 として解釈されます。
start または end が
数値形式の文字列
でない、長さが1バイトより大きい値の場合、E_WARNING が発生します。
start または end が
暗黙のうちに整数にキャストされた文字列の場合、
E_WARNING が発生します。なぜなら、他の境界の入力値は数値だからです。
step が float の場合、
かつ start と end が
数値形式の文字列
でない場合、E_WARNING が発生します。
&reftitle.changelog;
&Version;
&Description;
8.3.0
start と end
が両方文字列の場合、range は常にバイト列を要素とした配列を生成するようになりました。
これより前のバージョンでは、境界の値のうちのひとつが数値形式の文字列の場合に、もう一方の境界の値を整数にキャストしていました。
8.3.0
start または end が
暗黙のうちに整数にキャストされた文字列の場合、
E_WARNING が発生するようになりました。
なぜなら、他の境界の入力値が数値だからです。
8.3.0
start または end
が数値形式の文字列でなく、かつ長さが1バイトより大きい値の場合、
E_WARNING が発生するようになりました。
8.3.0
start または end が空文字列の場合、E_WARNING が発生するようになりました。
8.3.0
step が 端数のない float
の場合、整数として解釈されるようになりました。
8.3.0
step が負の値なのに、生成される範囲が増えている場合、
ValueError がスローされるようになりました。
8.3.0
step が有限の値でない場合、
ValueError がスローされるようになりました。
8.3.0
start または end
が配列、object、resource の場合、
TypeError がスローされるようになりました。
これより前のバージョンでは、これらの値は暗黙のうちに整数にキャストされていました。
&reftitle.examples;
range の例
]]>
&example.outputs;
&reftitle.seealso;
shuffle
array_fill
&foreach;