Create a method that counts even or odd numbers of values in the array.
Use the even? </ Font> method if the value is even, and the odd? </ Font> method if the value is odd.
Ruby
number = 2
number.even?
//→ true is returned
Ruby
def count(number)
count = 0
number.each do |num|
if num.even?
count += 1
end
end
puts count
end
This time, in order to create a method, the method name and the formal argument number are described on the first line.
Ruby
def count(number)
As mentioned above, the even? Method returns only true or false, so it cannot be counted by itself. Therefore, if you use the even? Method on an array as shown below, an error will occur.
Ruby
hairetsu = [1,2,6,8,10]
hairetsu.even?
// NoMethodError (undefined method `even?' for [1, 2, 6, 8, 10]:Array)
In addition, although count = o is described in the second line, the count is initialized by describing it before the iterative processing.
In order to count, iterate by the each method. As a flow, if it is true, it counts up, and if it is false, it does nothing and proceeds to the judgment of the next element.
Ruby
number.each do |num|
if num.even?
count += 1
end
end
I'm using the puts method to output what I counted last.
Ruby
puts "count"
You have now created an even or odd counting method in a generic array. When calling the method, don't forget to specify the array as the actual argument from outside the method.
Recommended Posts