루비 교체기 지식 총집합

2082 단어 Ruby교체기
간단하게 말하자면 교체(iterate)는 같은 일을 반복하는 것을 가리키기 때문에 교체기(iterator)는 같은 일을 여러 번 반복하는 데 쓰인다.
교체기는 집합 지원 방법이다.데이터 구성원 그룹을 저장하는 객체를 컬렉션이라고 합니다.루비에서 배열(Array)과 해시(Hash)를 집합이라고 할 수 있습니다.
교체기는 집합된 모든 원소를 하나씩 되돌려줍니다.여기서 우리는 두 가지 교체기, each와collect를 토론할 것이다.
루비 각 교체기
each 교체기는 수조나 해시의 모든 원소를 되돌려줍니다.
문법

collection.each do |variable|
  code
end
집합 중인 모든 요소에 대한 코드를 실행합니다.여기서 집합은 수조나 해시일 수 있다.

#!/usr/bin/ruby
 
ary = [1,2,3,4,5]
ary.each do |i|
  puts i
end
위의 인스턴스 실행 출력 결과는 다음과 같습니다.
일
이
삼
사
오
each 교체기는 항상 하나의 블록과 연결됩니다.그것은 블록에 그룹의 모든 값을 되돌려줍니다. 하나씩 이어집니다.값은 변수 i에 저장된 다음 화면에 표시됩니다.
Ruby collect 교체기
collect 교체기는 집합된 모든 요소를 되돌려줍니다.
문법

collection = collection.collect
collect 방법은 항상 블록과 연결될 필요가 없습니다.컬렉션 방법은 수조든 해시든 전체 집합을 되돌려줍니다.
인스턴스

#!/usr/bin/ruby
 
a = [1,2,3,4,5]
b = Array.new
b = a.collect{ |x|x }
puts b
위의 인스턴스 실행 출력 결과는 다음과 같습니다.
일
이
삼
사
오
주의:collect 방법은 그룹 간에 복제하는 정확한 방식이 아닙니다.여기에 또 다른 클론이라고 불리는 방법이 있습니다. 한 그룹을 다른 그룹으로 복사하는 데 사용됩니다.
새 그룹을 얻기 위해 모든 값을 조작하려고 할 때,collect 방법을 사용합니다.예를 들어 아래의 코드는 하나의 수조를 생성하는데 그 값은 a의 모든 값의 10배이다.

#!/usr/bin/ruby
 
a = [1,2,3,4,5]
b = a.collect{|x| 10*x}
puts b
위의 인스턴스 실행 출력 결과는 다음과 같습니다.
십
이십
삼십
사십
오십
보충하다
Java는 Map을 List 유형의 컨테이너로 변환해야 교체기를 사용할 수 있지만 Ruby는 직접 Map을 위한 교체기를 가지고 있습니다.

sum = 0
cutcome = {"block1" => 1000, "book2" => 1000, "book3" => 4000}
cutcome.each{|item, price| sum += price}
print "sum = " + sum.to_s
심지어 이렇게 할 수도 있다.

sum = 0
cutcome = {"block1" => 1000, "book2" => 1000, "book3" => 4000}
cutcome.each{|pair| sum += pair[1]}
print "sum = " + sum.to_s
이상은 루비 교체기 지식의 총체적인 내용입니다. 루비 교체기에 대한 더 많은 자료는 저희의 다른 관련 문장을 주목하세요!

좋은 웹페이지 즐겨찾기