[[pagelist(^RubyLanguage)]] [[TableOfContents]] = 컨테ì´ë„ˆ = * ê°ì²´ë¥¼ êµ¬ì¡°í™”ëœ ë°©ë²•ìœ¼ë¡œ ì €ìž¥í•´ë‘˜ 수 있는 ì¶”ìƒ ë°ì´í„° 타입(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 ì¶œë ¥ [[FootNote( * '''p 메서드''' : ê°ì²´ë¥¼ ë””ë²„ê·¸ì— ì 합한 형ì‹ìœ¼ë¡œ 문ìžì—´í™”하여 ì¶œë ¥í•˜ëŠ” 메서드로 주로 디버그 ì¶œë ¥ì„ ìœ„í•´ 사용. 디버그, 학습, ShortCoding ì´ì™¸ì—는 사용하지 않는 ê²ƒì´ ì¢‹ë‹¤.)]] coffee[2] #coffee ë°°ì—´ì˜ ì„¸ë²ˆì§¸ ìš”ì†Œì¸ "카푸치노"ì— ì ‘ê·¼ p coffee[2] #"카푸치노" ì¶œë ¥ coffee[3] #coffee ë°°ì—´ì˜ ë„¤ë²ˆì§¸ ìš”ì†Œì— ì ‘ê·¼í•˜ë‚˜ 요소가 없으므로 nil 반환 }}} * ìŒì˜ ì²¨ìž * ìŒì˜ ì²¨ìž ì‚¬ìš©ì‹œ ë’¤ì—서부터 ì—순으로 요소를 가리킨다. * {{{a[-n] = a[a.length - n]}}} {{{ array = [3, "String", [1, 2]] p array[-2] #"String" ì¶œë ¥ }}} * 길ì´ë¥¼ í¬í•¨í•œ ì²¨ìž * 위치와 길ì´ë¥¼ ì§€ì •í•˜ëŠ” 참조방법 * name[n, m] : name ë°°ì—´ì˜ n 위치부터 최대 mê°œì˜ ìš”ì†Œë¥¼ í¬í•¨í•˜ëŠ” 새로운 ë°°ì—´ ê°ì²´ë¥¼ ìƒì„±í•˜ì—¬ 반환 {{{ a, b = 1, 2 array = [a, b, 3, "String", [1, 2]] p array[1, 2] #[2, 3] ì¶œë ¥ p array[3, 3] #["String", [1, 2]] ì¶œë ¥ p array[-5, 3] #[1, 2, 3] ì¶œë ¥ }}} * 범위 ì²¨ìž * 범위 ì•ˆì— í¬í•¨ë˜ëŠ” 요소를 ì–»ì„ ìˆ˜ 있다. {{{ a, b = 1, 2 array = [a, b, 3, "String", [1, 2]] p array[0..2] #[1, 2, 3] ì¶œë ¥ p array[0...2] #[1, 2] ì¶œë ¥ p array[-4, 3] #[2, 3, "String"] ì¶œë ¥ }}} === 첨ìžëŒ€ìž… === === ë¹„êµ === === 메서드 === == 해시 == ---- [[FootNote]]