Ruby 배열 메서드를 찾는 중...
14077 단어 beginnersrubycodenewbie
여기에서 Ruby에서 가장 많이 사용되는 몇 가지 배열 메서드에 대한 간단한 소개를 볼 수 있습니다. 터미널에서 IRB을 열어 저와 함께 아래의 이러한 배열 방법 중 일부를 테스트하고 직접 만들어 보십시오.
Ruby의
.shuffle
메서드는 원래 배열의 모든 요소가 섞인 새 배열을 반환합니다.method_card = [“uniq”, “sample”, “rotate”, “reverse”]
method_card.shuffle
# => [“reverse”, “sample”, “uniq”, “rotate”]
lucky_number = [13, 5, 3, 8, 15]
lucky_number.shuffle
# => [5, 15, 3, 8, 13]
.sample
메서드는 원래 배열에서 임의 요소 또는 임의 요소의 배열을 반환합니다. 원래 배열에 중복 요소가 포함되어 있지 않으면 요소가 반복되지 않습니다.fortune = ["It will come to pass", "Error 404 Fortune not found", "Not this year", "I will not tell"]
fortune.sample
# => "I will not tell"
fortune.sample
# => "Error 404 Fortune not found
fortune.sample(2)
# => ["Not this year", "I will not tell"]
fortune.sample(3)
# => ["It will come to pass", "Error 404 Fortune not found", "Not this year"]
.reverse
메서드는 원래 배열의 요소를 역순으로 포함하는 새 배열을 반환합니다. .reverse_each
에서 자세한 내용options.을 확인할 수도 있습니다.fortune_teller = ["Madame Ruby", "Great React", "Code Seeker"]
tellers = fortune_teller.reverse
# => ["Code Seeker", "Great React", "Madame Ruby"]
lucky_number = [13, 5, 3, 8, 15]
my_numbers = lucky_number.reverse
# => [15, 8, 3, 5, 13]
.sort
메서드는 원래 배열의 요소가 정렬된 새 배열을 반환합니다. <=>
연산자를 사용하여 배열의 요소를 비교합니다. "우주선 연산자"라고도 합니다. 이에 대해 자세히 알아볼 수 있습니다. operator. .sort
방법은 숫자를 최소에서 최대로 정렬하고 문자열을 알파벳순으로 정렬합니다. .reverse
메서드를 연결하여 새 배열을 내림차순으로 가져올 수도 있습니다.lucky_number = [13, 5, 3, 8, 15]
num1 = lucky_number.sort
# => [3, 5, 8, 13, 15]
num2 = lucky_number.sort.reverse
# => [15, 13, 8, 5, 3]
answer = ["yes", "no", "maybe", "doubtful"]
a1 = answer.sort
# => ["doubtful", "maybe", "no", "yes"]
a2 = answer.sort.reverse
# => ["yes", "no", "maybe", "doubtful"]
숫자나 문자열 이외의 항목이 포함된 배열을 정렬하려면
.sort_by
를 사용해야 합니다. Learn more.uniq
메서드는 일부 중복 요소가 있는 데이터 목록으로 작업할 때 유용합니다. 배열을 반복하여 중복 데이터를 필터링할 수 있지만 단순히 .uniq
를 사용할 수 있는데 왜 그렇게 합니까? .uniq
Ruby 방법은 원래 배열에서 중복 요소를 제거한 후 새 배열을 반환하는 비파괴적인 방법입니다.lucky_number = [6, 13, 5, 3, 13, 8, 6]
num1 = lucky_number.uniq
# => [6, 13, 5, 3, 8]
# sort and discard duplicates
num2 = lucky_number.sort.uniq
# => [3, 5, 6, 8, 13]
# sort by descending and discard duplicates
num3 = number.sort.reverse.uniq
# => [13, 8, 6, 5, 3]
또한 데이터를 병합하고 중복을 피하려는 경우 배열을 병합하고 중복을 버리는 파이프 연산자
|
를 사용할 수 있습니다.number_charm = [6, 13, 5, 3, 13, 8, 6]
number_choice = [4, 13, 3, 15, 18]
combine = number_charm | number_choice
# => [6, 13, 5, 3, 8, 4, 15, 18]
# using sort to organize
combine.sort
# => [3, 4, 5, 6, 8, 13, 15, 18]
# no duplicates from merge
이 방법을 자주 사용할 때마다 Ruby 세트 탐색을 고려할 수 있습니다. Ruby 세트를 사용하면 세트의 모든 항목이 고유함을 보장합니다. sets과 배열의 차이점에 대해 알아볼 수 있습니다. 원래 배열을 변경하려면 파괴적인
.uniq!
를 사용해야 합니다. 이에 대한 자세한 내용이 나옵니다..rotate
메서드는 개수가 먼저 나오도록 원래 배열의 요소를 회전하는 새 배열을 반환합니다. 음수를 사용하여 반대 방향으로 회전할 수도 있습니다. -1은 배열의 마지막 요소입니다.answer = ["yes", "no", "maybe", "doubtful"]
a1 = answer.rotate # => ["no", "maybe", "doubtful", "yes"]
a2 = answer.rotate(2) # => ["maybe", "doubtful", "yes", "no"]
a3 = answer.rotate(3) # => ["doubtful", "yes", "no", "maybe"]
a4 = answer.rotate(-1) # => ["doubtful", "yes", "no", "maybe"]
a5 = answer.rotate(-2) # => ["maybe", "doubtful", "yes", "no"]
위의 비파괴적 방법을 사용하면 원본 데이터가 보존됩니다. 이러한 메서드 끝에 느낌표
!
를 추가하면 bang 메서드가 생성됩니다. Bang 메소드는 파괴적이기 때문에 주의해서 사용해야 합니다. 즉, 메소드가 호출된 데이터를 변경합니다.자세히 알아보기Ruby array methods...
&GitHub에서 나와 연결할 수 있습니다.
리소스: Ruby-Doc.org , educative , Canva
Reference
이 문제에 관하여(Ruby 배열 메서드를 찾는 중...), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rstarksmith/seeking-ruby-array-methods-2dee텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)