6.13. Pętla z wykorzystaniem wartości zmiennoprzecinkowych

Problem

Pętla for z wyrażeniami arytmetycznymi wykonuje działania jedynie na liczbach całkowitych. W jaki sposób można zrealizować to samo zadanie z wykorzystaniem liczb zmiennoprzecinkowych?

Rozwiązanie

Jeżeli w danym systemie jest dostępne narzędzie seq, można je wykorzystać do wygenerowania wartości zmiennoprzecinkowych.

for fp in $(seq 1.0 .01 1.1)
do
    echo $fp; dodatekowe instrukcje
done

Inne rozwiązanie:

seq 1.0 .01 1.1 | \
while read fp
do
    echo $fp; dodatkowe instrukcje
done

Analiza

Polecenie seq generuje sekwencję liczb ułamkowych, zapisując każdą wartość w oddzielnym wierszu. Parametrami instrukcji seq są kolejno wartość początkowa, wartość przyrostu oraz wartość końcowa. Warto zwrócić ...

Get Bash. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.