NOWS/Perl

day 4.

emzei 2016. 1. 27. 20:05


day 4. 음 멀짜야 빨리 늘까..펄..펄...


  • 배열
  • 리스트 데이터



  • 배열 : 리스트를 담는 변수
  • 리스트 : 순서가 있는 스칼라 데이터 (Order)




리스트 리터럴

  • 괄호() 안에 쉼표, 로 구분
  • 리스트의 요소는 상수일 필요도 없음. (재계산 가능한 식 OK)
    • 예) 
      • (1,2,3) ;
      • ("alfred", 4, 5);
      • ($alice, 1,2,3);
      • ($alice+$bob,  $cat);
  • 공백리스트 : () 
  • 리스트 구성자
    • 두 개의 스칼라 값을 두 개의 마침표로 구분해서 표현  ".." : 왼쪽에서 오른쪽으로 증가
    • 왼쪽 스칼라 값보다 오른쪽 스칼라가 작을 경우, 공백리스트 
    • 문자열이 많은 리스트는 qw()를 이용하면 편함 (quote word 줄임말)
    • 예)
    • (1 .. 5) # (1,2,3,4,5)와 동일
    • (1.1 .. 5.1) # (1.1, 2.1, 3.1, 4.1, 5.1)와 동일
    • ($x .. $y) # $x와 $y의 현재값으로 결정되는 범위
    • (1.5 .. 3.1) # (1.5, 2.5)와 동일
    • (5 .. 1) # () 공백리스트와 동일



배열 변수
  • 배열변수 : @(at)을 이용
  • 할당 되지 않은 배열 변수는 공백 리스트 값을 가짐



배열 연산자
  • 할당
    • @alice = @bob;
    • @charlie = 1; # @charlie = (1);
    • cf. 스칼라 값이 할당 되는 경우, 스칼라 값은 배열의 요소가 됨
  • 치환
    • @alice = ("a", "b");
    • @bob = (@alice, "c", "d"); # @bob = ("a", "b", "c", "d") 와 동일
    • @alice = ("wow", @alice); # @alice = ("wow", "a", "b") 와 동일, "wow"를 첫 요소로 추가함
  • 기타 : 상응하는 값 대치
    • 할당은 오른쪽 값을 왼쪽으로...
    • ($a, $b, $c) = (1, 2, 3); # $a=1, $b=2, $c=3 와 동일
    • ($a, $b) = ($b, $a) # $a와 $b 값 swap
    • ($d, @alice) = ($a, $b, $c); # $d = $a, @alice = ($b, $c);



'NOWS > Perl' 카테고리의 다른 글

day 6.  (0) 2016.02.02
day 5.  (0) 2016.02.01
day 3.  (0) 2016.01.07
day 2.  (0) 2016.01.06
day 1.  (0) 2016.01.05