Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

RubyLanguage/Container: Difference between revisions

From ZeroWiki
imported>linflus
No edit summary
imported>linflus
No edit summary
Line 20: Line 20:
=== 생성 ===
=== 생성 ===
* 리터럴로 생성
* 리터럴로 생성
  array = [a, b, 3, "String", [1, 2]]
  array = ["a", "b", 3, "String", [1, 2]]
* Array.new로 생성
* Array.new로 생성
  array = Array.new
  array = Array.new
=== 첨자참조 ===
=== 첨자참조 ===
* []
* 첨자참조 연산자
** 첨자참조 연산자를 사용해 참조 위치의 객체에 접근할 수 있다.
** [] 를 사용해 참조 위치의 객체에 접근할 수 있다.
   
** 해당하는 요소가 존재하지 않는 첨자에 대해서는 nil을 반환한다.
a, b = 1, 2
array = [a, b, 3, "String", [1, 2]]
  coffee = ["아메리카노", "카페모카", "카푸치노"]
array[0]    #array 배열의 첫번째 요소인 a에 접근
p array[0]  #a의 값인 1 출력
coffee[2]  #coffee 배열의 세번째 요소인 "카푸치노"에 접근
p coffee[2] #"카푸치노" 출력
coffee[3]  #coffee 배열의 네번째 요소에 접근하나 요소가 없으므로 nil 반환
* p 메서드
** 객체를 디버그에 적합한 형식으로 문자열화하여 출력하는 메서드로 주로 디버그 출력을 위해 사용.
** 디버그, 학습, ShortCoding 이외에는 사용하지 않는 것이 좋다.
=== 첨자대입 ===
=== 첨자대입 ===
=== 비교 ===
=== 비교 ===

Revision as of 10:08, 24 January 2011

[[pagelist(^RubyLanguage)]]

컨테이너

  • 객체를 구조화된 방법으로 저장해둘 수 있는 추상 데이터 타입(ADT)
  • 배열과 해시는
    • Ruby 프로그래밍에 있어 가장 기본적인 컨테이너 객체이다.
    • 다른 객체로의 참조를 저장하는 컨테이너이다.
  • Ruby는 iterator를 통해 컨테이너 상의 반복을 자연스럽게 표기할 수 있다.

배열

  • 객체로의 참조를 차례대로 나열한 것.
    • 배열이 저장하고 있는 것은 객체 그 자체가 아니다.
    • 객체 자체를 변경하면 그 객체를 참조하고 있는 모든 배열요소의 값도 변화한다.
  • 요소
    • 배열이 저장하고 있는 각각의 객체 참조.
    • 배열의 요소가 동일한 자료형일 필요는 없다.
    • 요소로 배열을 포함할 수도 있다.
  • 첨자
    • 배열의 요소가 몇번째 순서인지 가리키는 번호.
    • 0부터 시작한다.

생성

  • 리터럴로 생성
array = ["a", "b", 3, "String", [1, 2]]
  • Array.new로 생성
array = Array.new

첨자참조

  • 첨자참조 연산자
    • [] 를 사용해 참조 위치의 객체에 접근할 수 있다.
    • 해당하는 요소가 존재하지 않는 첨자에 대해서는 nil을 반환한다.
a, b = 1, 2
array = [a, b, 3, "String", [1, 2]]
coffee = ["아메리카노", "카페모카", "카푸치노"]
array[0]    #array 배열의 첫번째 요소인 a에 접근
p array[0]  #a의 값인 1 출력
coffee[2]   #coffee 배열의 세번째 요소인 "카푸치노"에 접근
p coffee[2] #"카푸치노" 출력
coffee[3]   #coffee 배열의 네번째 요소에 접근하나 요소가 없으므로 nil 반환
  • p 메서드
    • 객체를 디버그에 적합한 형식으로 문자열화하여 출력하는 메서드로 주로 디버그 출력을 위해 사용.
    • 디버그, 학습, ShortCoding 이외에는 사용하지 않는 것이 좋다.

첨자대입

비교

메서드

해시