Skip to content

Commit aea6d13

Browse files
Ch06: replace C-style for loops with seq commands (#68)
1 parent 08cb3f0 commit aea6d13

File tree

1 file changed

+33
-6
lines changed

1 file changed

+33
-6
lines changed

docs/Ch06/index.md

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -799,26 +799,26 @@ $ # 所以为了正常显示,需要在结尾补上 \n
799799

800800
clear
801801

802-
for (( i=1; i<=MAX_NO; i++ ))
802+
for i in `seq $MAX_NO`
803803
do
804-
for (( s=MAX_NO; s>=i; s-- ))
804+
for s in `seq $MAX_NO -1 $i`
805805
do
806806
echo -n " "
807807
done
808-
for (( j=1; j<=i; j++ ))
808+
for j in `seq $i`
809809
do
810810
echo -n " ."
811811
done
812812
echo ""
813813
done
814814

815-
for (( i=MAX_NO; i>=1; i-- ))
815+
for i in `seq $MAX_NO -1 1`
816816
do
817-
for (( s=i; s<=MAX_NO; s++ ))
817+
for s in `seq $i $MAX_NO`
818818
do
819819
echo -n " "
820820
done
821-
for (( j=1; j<=i; j++ ))
821+
for j in `seq $i`
822822
do
823823
echo -n " ."
824824
done
@@ -851,6 +851,33 @@ $ # 所以为了正常显示,需要在结尾补上 \n
851851
.
852852
```
853853

854+
!!! tip "seq 命令"
855+
856+
seq 命令用于生成数列,命令格式如下:
857+
858+
```shell
859+
seq [OPTION]... LAST
860+
seq [OPTION]... FIRST LAST
861+
seq [OPTION]... FIRST INCREMENT LAST
862+
```
863+
864+
首项 `FIRST` 和公差 `INCREMENT` 默认值为 1。
865+
866+
例如,执行指令 `seq 10`,将得到如下数列:
867+
868+
```
869+
1
870+
2
871+
3
872+
4
873+
5
874+
6
875+
7
876+
8
877+
9
878+
10
879+
```
880+
854881
除此之外,用于流程控制的还有在 C 语言中同样常见的 `break``continue`。与 C 语言不同的是,它们还接受一个数字作为参数,即 `break n``continue n`,其中参数 `n` 均表示跳出或跳过 n 层循环。
855882

856883
### 函数 {#functions}

0 commit comments

Comments
 (0)