2025-02-10T05:29:29
This commit is contained in:
62
docs/11_reference.md
Normal file
62
docs/11_reference.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# 참조
|
||||
|
||||
PERL에서 참조는 다른 스칼라, 배열, 해시 등을 가리키는 스칼라 타입의 변수입니다. 참조는 스칼라 타입이기 때문에, 배열이나 해시의 구성 요소로 사용될 수 있으며, 이를 통해 다차원 배열 등 복잡한 자료 구조를 만들 수 있습니다.
|
||||
|
||||
참조하고자하는 변수 앞에 `\`를 붙이면 해당 변수에 대한 참조가 됩니다. 참조 변수에서 다시 일반 변수를 가져오려면 스칼라 형 앞에 `$`, 배열인 경우에는 `@`, 해시는 `%`, 서브루틴은 `&`를 붙여주면 됩니다.
|
||||
|
||||
```perl
|
||||
my $var = 100;
|
||||
my $var_ref = \$var;
|
||||
|
||||
$$var_ref = $$var_ref * 2;
|
||||
|
||||
print "$var\n";
|
||||
print "$$var_ref\n"; # 또는 ${$var_ref}
|
||||
print "$var_ref\n";
|
||||
```
|
||||
|
||||
참조 배열의 아이템에 접근하려면 `->[]`를 사용합니다.
|
||||
|
||||
```perl
|
||||
my @array = (1..5);
|
||||
my $array_ref = \@array;
|
||||
|
||||
my $i=0;
|
||||
for (@$array_ref) {
|
||||
print "$$array_ref[$i]\n"; # 또는, $array_ref->[$i]
|
||||
$i++;
|
||||
}
|
||||
```
|
||||
|
||||
참조 해시의 아이템에 접근하려면 `->{}`를 사용합니다.
|
||||
|
||||
```perl
|
||||
my %ages = ('Charlie'=> 14, 'Steve'=> 37, 'Jane'=> 22);
|
||||
my $ref = \%ages;
|
||||
|
||||
for (keys %$ref){
|
||||
print "$_ = $ref->{$_}\n";
|
||||
}
|
||||
```
|
||||
|
||||
## 익명 참조
|
||||
|
||||
참조할 변수를 생성하지 않고 직접 참조를 생성하는 것을 익명 참조라고 부릅니다. `()` 데신에 `[]`나 `{}`를 사용해서 선언합니다.
|
||||
|
||||
```perl
|
||||
my $array_ref = [1..5];
|
||||
|
||||
my $hash_ref = {'Charlie'=> 14, 'Steve'=> 37, 'Jane'=> 22};
|
||||
```
|
||||
|
||||
## 심볼릭 참조
|
||||
|
||||
심볼릭 참조를 사용하려면 `use strict` 옵션을 꺼야합니다.
|
||||
|
||||
```perl
|
||||
my $ref = "var"; # var는 나중에 변수 이름으로 사용될 예정입니다.
|
||||
|
||||
$$ref = "Hello";
|
||||
|
||||
print "$var\n";
|
||||
```
|
||||
Reference in New Issue
Block a user