4. 용기, 블록, 교체기
each
[1, 2, 3, 4, 5].each {|i| puts i}
find
[1,2,3,4,5,6].find {|i| i*i > 30} # 6
collect
방법과 마찬가지로 블록을 통해 새로운 수조map
를 되돌려주는 중요한 방법은 ["H" , "A" , "L" ].collect {|x| x.succ } # => ["I", "B", "M"]
f=File입니다.open("testfile") f.each.with_index do |line, index| puts "Line #{index} is: #{line}"end f.close 우리는 그룹이나 hash에서
with_index
방법을 사용하여 성공적인 매거 대상을 변환할 수 있습니다.a = [ 1, 3, "cat" ]
h = { dog: "canine" , fox: "vulpine" }
# Create Enumerators
enum_a = a.to_enum
enum_h = h.to_enum
enum_a.next # => 1
enum_h.next # => [:dog, "canine"]
enum_a.next # => 3
enum_h.next # => [:fox, "vulpine"]
메서드
to_enum
를 사용하여 열거 객체 제어short_enum = [1, 2, 3].to_enum
long_enum = ('a' ..'z' ).to_enum
loop do
puts "#{short_enum.next} - #{long_enum.next}"
end
produces:
1 - a
2 - b
3 - c
배열이나 문자열에 대한 다른 자주 사용되는 교체 방법:
result = []
[ 'a' , 'b' , 'c' ].each_with_index {|item, index| result << [item, index] }
result # => [["a", 0], ["b", 1], ["c", 2]]
result = []
"cat".each_char.each_with_index {|item, index| result << [item, index] }
result # => [["c", 0], ["a", 1], ["t", 2]]
result = []
"cat".each_char.with_index {|item, index| result << [item, index] }
result # => [["c", 0], ["a", 1], ["t", 2]]
enum = "cat".enum_for(:each_char)
enum.to_a # => ["c", "a", "t"]
enum_in_threes = (1..10).enum_for(:each_slice, 3)
enum_in_threes.to_a # => [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.