pat coding
[Ruby] Array 정리 본문
728x90
1. 배열 만들기
# 기본적인 배열 만들기
arr = []
arr2 = Array.new
# 여러가지 배열 만들기
arr_with_stuff = ["value", "separated by comma"]
arr_with_stuff2 = Array.new(["a", "b", "c"])
range_to_arr = (1..9).to_a
# 중복 배열 만들기
arr = Array.new(5, " ")
puts -> [" ", " ", " ", " ", " "]
# %w 를 통한 문자열 배열 만들기
arr = %w(cat dog mouse 1 2)
puts -> ["cat", "dog", "mouse", "1", "2"]
2. 메소드
- split
# 문자열을 배열로 분할
# 분할하려는 인수를 넣지 않으면 공백으로 분할 됩니다.
arr = "this is a string".split
puts arr
-> [ "this", "is", "a", "string"]
"hey".split("") #-> [ "h", "e ","y"]
arr = "this/is/a/string".split("/")
puts arr
-> [ "this", "is", "a", "string"]
- join
# 배열을 문자열로 변환
# 인수를 넣으면 배열 사이에 인수가 추가된다.
arr = %w(cat dog mouse)
str = arr.join(", ")
puts str
-> "cat, dog, mouse"
str2 = arr.join
puts str2
-> "catdogmouse"
- include
# 배열안에 포함되어 있는지 확인
arr = %w(cat dog mouse)
arr.include?("cat") # -> true
arr.include?("zzz") #-> false
- length
# 배열의 크기
arr = %w(cat dog mouse cow pig)
arr.length # -> 5
arr.size # -> 5
3. 데이터 추가 및 삭제
1. 추가
# 뒤 쪽에 추가
arr = %w(cat dog mouse)
arr[0] = "lynx"
puts arr
-> ["lynx", "dog", "mouse"]
arr = %w(cat dog mouse)
arr << "cobra"
puts arr
-> ["cat", "dog", "mouse", "cobra"]
arr.push("crow")
puts arr
-> ["cat", "dog", "mouse", "cobra", "crow"]
arr.push("cow", "bee")
puts arr
-> ["cat", "dog", "mouse", "cobra", "crow", "cow", "bee"]
# 앞 쪽에 추가
arr = %w(cat dog mouse)
arr.unshift("clam")
puts arr
-> ["clam", "cat", "dog", "mouse"]
arr.unshift("cow", "bee")
puts arr
-> ["cow", "bee", "clam", "cat", "dog", "mouse"]
# 원하는 인덱스에 추가
arr = %w(cat dog mouse)
arr.insert(1, "cow")
puts arr
-> ["cat", "cow", "dog", "mouse"]
arr.insert(1, "bee", "pig")
puts arr
-> ["cat", "bee", "pig", "cow", "dog", "mouse"]
2. 삭제
# 기본적인 삭제
arr = %w(cat dog mouse)
arr.delete("cat")
puts arr
-> ["dog", "mouse"]
arr = ["dog", "mouse"]
arr.delete("cat")
puts arr
-> nil
arr = %w(cat dog mouse pig cow)
arr2 = arr - ["cat", "mouse"]
puts arr2
-> ["dog", "pig", "cow"]
# 인덱스로 삭제
arr = %w(cat dog mouse)
arr.delete_at(0)
puts arr
-> ["dog", "mouse"]
arr = ["dog", "mouse"]
arr.delete_at(100)
-> nil
# 마지막 데이터 삭제
arr = %w(cat dog mouse)
arr.pop -> "mouse"
arr -> ["cat", "dog"]
arr.pop -> "dog"
arr.pop -> "cat"
arr.pop -> nil
# 첫 데이터 삭제
arr = %w(cat dog mouse)
arr.shift # -> "cat"
arr -> ["dog", "mouse"]
arr.shift -> "dog"
arr.shift -> "mouse"
arr.shift -> nil
728x90
'Language > RubyOnRails' 카테고리의 다른 글
[Ruby]예외 처리 (0) | 2020.03.09 |
---|---|
[ruby] method (0) | 2020.02.27 |
rails controller (0) | 2020.01.09 |
[Ruby excel] write_xlsx 를 통한 엑셀 설정 (0) | 2020.01.07 |
Active Record의 정의 (1) | 2019.12.24 |
Comments