루비 교체기 지식 총집합

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
이상은 루비 교체기 지식의 총체적인 내용입니다. 루비 교체기에 대한 더 많은 자료는 저희의 다른 관련 문장을 주목하세요!

좋은 웹페이지 즐겨찾기