rangeTworzy tablicę zawierającą przedział elementów
&reftitle.description;
arrayrangestringintfloatstartstringintfloatendintfloatstep1
Tworzy tablicę zawierającą zakres elementów.
Jeśli zarówno parametry start i end są
typu string, a parametr step jest typu int,
to zwrócona tablica będzie sekwencją bajtów.
W przeciwnym razie tablica będzie sekwencją liczb.
Sekwencja jest rosnąca jeśli start jest mniejszy
lub równy wartości end.
W przeciwnym razie przedział będzie się zmniejszać.
&reftitle.parameters;
start
Pierwsza wartość przedziału.
end
Ostatnia dozwolona wartość przedziału.
step
Parametr step określa o ile zwiększa (lub zmniejsza) się
przedział pomiędzy kolejnymi jego elementami.
step może być ujemny dla przedziałów zmniejszających się.
Jeżeli step jest liczbą zmiennoprzecinkową (float) bez
części ułamkowej, to jest on interpretowany jak liczba całkowita (int).
&reftitle.returnvalues;
Zwraca przedział elementów jako tablicę, gdzie pierwszym elementem
jest start, a przedział dąży do wartości
end, gdzie każda z wartości przedziału jest
oddzielona od siebie o wartość określoną przez step.
Ostatnim elementem zwróconej tablicy jest end
lub poprzedni element przedziału,
zależnie od wartości parametru step.
Jeśli zarówno parametry start i end są
typu string, a parametr step jest typu int,
to zwrócona tablica będzie sekwencją bajtów,
zazwyczaj znaków ASCII.
Jeżeli choć jeden z parametrów start, end,
lub step jest typu float,
to zwrócona tablica będzie przedziałem liczb zmiennoprzecinkowych.
W przeciwnym razie zwrócona tablica będzie przedziałem liczb całkowitych (int).
&reftitle.errors;
Jeżeli parametr step ustawiono na 0,
to zostanie rzucony ValueError.
Jeżeli start, end,
lub step nie spełniają warunków is_finite,
to zostanie rzucony ValueError.
Jeżeli step jest ujemny,
ale zwracany przedział jest rosnący
(tj. $start <= $end),
to zostanie rzucony ValueError.
Jeżeli start lub end
są pustym ciągiem znaków '',
emitowane jest ostrzeżenie (E_WARNING), a
pusty ciąg znaków będzie zinterpretowany jak 0.
Jeżeli start lub end
jest nienumerycznym ciągiem znaków
z więcej niż jednym bajtem, wyemitowane zostanie ostrzeżenie (E_WARNING).
Jeżeli start lub end jest ciągiem znaków,
który jest niejawnie rzutowany na typ int, ponieważ druga wartość graniczna
jest liczbą, emitowane jest ostrzeżenie (E_WARNING).
Jeżeli step jest liczbą zmiennoprzecinkową (float),
a start oraz end są
nienumerycznymi ciągami znaków,
emitowane jest ostrzeżenie (E_WARNING).
&reftitle.changelog;
&Version;&Description;8.3.0
Jeśli zarówno start i end
są ciągami znaków, to range zwróci teraz zawsze
tablicę bajtów.
Wcześniej, jeśli jedna z wartości granicznych była numerycznym ciągiem znaków,
to druga była niejawnie rzutowana na int.
8.3.0
Od teraz emitowane jest ostrzeżenie (E_WARNING) jeśli
start lub end
są ciągami znaków, które są niejawnie rzutowane na int,
ponieważ druga z wartości granicznych jest liczbą.
8.3.0
Od teraz emitowane jest ostrzeżenie (E_WARNING) jeśli
start lub end
jest nienumerycznym ciągiem znaków z więcej niż jednym bajtem.
8.3.0
Od teraz emitowane jest ostrzeżenie (E_WARNING) jeśli
start lub end
jest pustym ciągiem znaków.
8.3.0
Jeżeli parametr step jest liczbą zmiennoprzecinkową (float) bez
części ułamkowej, będzie on interpretowany jak liczba całkowita (int).
8.3.0
Jeżeli parametr step jest ujemny a tworzony
jest przedział rosnący, to zostanie od teraz rzucony
ValueError.
8.3.0ValueError jest od teraz rzucany,
jeśli step nie jest wartością skończoną.
8.3.0TypeError jest od teraz rzucany, jeśli
start lub end
są tablicą, obiektem lub zasobem.
Wcześniej byly one niejawnie rzutowane na int.
&reftitle.examples;
Przykłady użycia range
]]>
&example.outputs;
&reftitle.seealso;
shufflearray_fill&foreach;