def get_string(no_of_times)
1.upto(no_of_times) do
string_input = gets.chomp
count_holes(string_input)
end
end
def count_holes(word)
count = 0
word.each_char do |char|
if char == "A" || char == "D" || char == "O" || char == "P" || char == "Q" || char == "R"
count += 1
elsif char == "B"
count += 2
end
end
$arr_of_holes << count
end
test_cases = gets.chomp.to_i
$arr_of_holes = []
get_string(test_cases)
puts $arr_of_holes
Run Code Online (Sandbox Code Playgroud)
大家好.迭代每个字符时,我不喜欢if语句中的长条件.所以我想问你们所有人是否有更好的办法在红宝石中做到这一点.
谢谢
这可以通过案例选择来完成,因为可以为每个when案例提供多个术语:
case char
when "A", "D", "O", "P", "Q", "R"
count += 1
when "B"
count += 2
end
Run Code Online (Sandbox Code Playgroud)