2024-06-21
This commit is contained in:
99
Writerside/topics/Loop.md
Normal file
99
Writerside/topics/Loop.md
Normal file
@@ -0,0 +1,99 @@
|
||||
# 반복문
|
||||
|
||||
## for … / foreach …
|
||||
|
||||
```perl
|
||||
#!/usr/bin/perl
|
||||
use warnings;
|
||||
use strict;
|
||||
|
||||
my @array = (0..9);
|
||||
for (@array) {
|
||||
print ("$_", "\n");
|
||||
}
|
||||
```
|
||||
|
||||
`$_`는 반복자라고 불리는 특수 변수입니다. 반복자를 명시하지 않으면 $_라는 특수 변수가 사용됩니다. 다음과 같이 반복자를 명시할 수도 있습니다.
|
||||
|
||||
```perl
|
||||
for my $i (@array) {
|
||||
print ("$i", "\n");
|
||||
}
|
||||
```
|
||||
|
||||
반복자의 값을 변경하면 배열의 요소에도 변경된 값이 적용됩니다.
|
||||
|
||||
```perl
|
||||
my @array = (0..9);
|
||||
for (@array) {
|
||||
$_ = $_ +1;
|
||||
}
|
||||
print "@array\n";
|
||||
```
|
||||
|
||||
C-스타일의 for 구문도 사용할 수 있습니다.
|
||||
|
||||
```perl
|
||||
my @array = (0..9);
|
||||
for (my $i=0; $i<=$#array; $i++) {
|
||||
print ("$array[$i]", "\n");
|
||||
}
|
||||
```
|
||||
|
||||
## while …
|
||||
|
||||
```perl
|
||||
print "$i++\n" while ($i > 0);
|
||||
```
|
||||
|
||||
```perl
|
||||
while (my $input = <STDIN>) {
|
||||
chomp $input;
|
||||
}
|
||||
```
|
||||
|
||||
## do … while …
|
||||
|
||||
```perl
|
||||
do {
|
||||
...
|
||||
} while (...);
|
||||
```
|
||||
|
||||
## until …
|
||||
|
||||
```perl
|
||||
until(...) {
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
## do … until …
|
||||
|
||||
```perl
|
||||
do {
|
||||
...
|
||||
} until (...);
|
||||
```
|
||||
|
||||
## 흐름 제어
|
||||
|
||||
### next
|
||||
|
||||
C 언어의 continue와 비슷합니다.
|
||||
|
||||
```perl
|
||||
while (...){
|
||||
next if (...);
|
||||
}
|
||||
```
|
||||
|
||||
### last
|
||||
|
||||
C 언어의 break와 비슷합니다.
|
||||
|
||||
```perl
|
||||
while (...){
|
||||
last if (...);
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user