세로형
Recent Posts
Recent Comments
Link
04-17 00:01
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

펄 배열(perl array) push, pop, 정렬, 역순 본문

perl

펄 배열(perl array) push, pop, 정렬, 역순

이수진의 블로그 2017. 9. 22. 09:02

펄 배열 2번째 이야기를 시작합니다.

몇몇 특징과, push, pop에 대해서 볼까해요!

 

먼저 아래와 같은 특징이 있습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
@who = (qw(fred array soojin lee))[2,3];  #이런식으로 잘라서 넣을 수도 있다.
print($who[0].", ".$who[1]."\n ");
 
 
@fred = (7,8,9); 
@barney = (2,1,0);
@backfred = @fred[@barney]; #barney가 2,1,0 이니까 $fred[2] 와 같은 값이 들어간다. -> 슬라이스로 들어가게됨
#@fred[2,1,0] 또는 ($fred[2], $fred[1], $fred[0]), 또는 (9,8,7) 과 동일하다.
 
for($i = 0 ; $i < $#backfred+1 ; $i++){
    print("요소 2 : $backfred[$i] \n");
}
 
cs

 

 

 

 

 

 

 

결과는 이와 같이 나오는데요

 

2~3줄은 이해가 무리 없이 되실 꺼 같아요.

2번 3번 인덱스 값을 짤라서 @who 배열에 넣어서 출력하는거에요

 

밑에는 이런 방식입니다.

 

@barney는 2,1,0 이 있죠. 이 값으로 인덱스로 접근하게 되는 겁니다.

그래서 backfred 첫번째 인덱스에는 fred 2번 인덱스인 9, 값

backfred 두번째 인덱스에는 fred 1번 인덱스인 8,

세번째 인덱스에는 fred 0번 인덱스인 7이 들어가게 되죠

 

그리고 아래와 같은 특징도 있습니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
@arr = (1,2,3);
$arr[8= "go";  #중간 인덱스 값들은 전부 undef
 
for($i = 0 ; $i < $#arr+1 ; $i++){
    if(!defined($arr[$i])){  #defined는 값이 있으면 출력하게 해준다.
        print("값이 없다 \n");  #그래서 값이 없는것을 찾으려면 !을 붙여야 한다.
        next;        #continue와 같은 역할은 next;가 한다.
    }
    print("요소 3 : $arr[$i] \n");
}
 
 
 
cs

 

 

 

 

저렇게 인덱스를 건너뛰어서 값을 넣으면 중간 값은 undef값이 들어갑니다.

그래서 defined함수에 걸리게 되죠!

 

next는 c나 java에서 사용하는 continue와 같은 역할이라고 보면 됩니당!

 

그리고 push, pop

 

 

#그리고 리스트 끝에 값을 추가하는 것은 push를 이용한다.
# push(@배열, $값) 이런식으로 사용한다. 변수면 $를 쓰고,

변수가 아닌 값이면 그냥 쓴다.
# $value = pop(@배열)  하면 맨 끝의 값이 반환된다.
# 또한 push(@arr, 1,2,3)  과 같이 하면 1,2,3 이 한꺼번에 push된다.
# shift, unshift는 맨 처음 위치에서 일어나는 연산이다.

사용방법은 push, pop과 일치하다.


와 같습니다.

 

 

그리고 정렬과 역순으로 정렬 하는 방법이 있습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
@a = (1,2,3);
print(@a);
print("\n");
@a = reverse(@a);  #reverse는 역순으로.
print(@a);
print("\n");
 
@x = ("asb""lee""soojin""aaa");
@y = sort(@x);  #정렬을 해준다.
print(@y);
print("\n");
 
cs

 

 

 

와 같습니다!

 

이걸로 perl 배열 정리를 마칠게요

 

 

 

 

 

 

 

 

 

 

반응형
그리드형
Comments