我试图编写if
条件,该条件接受字符串数组(如果其所有元素均为数字)。如果它不是由数字组成,它应该返回"incorrect input"
在else
。之后,我会将这些数字转换为整数以获得平方根。这是我写的:仅当它由数字组成时才接受字符串数组
def square(string)
if string =~ /^\d+$/
m = string.split(",").map(&:to_i).sort
if m.count == 4 && m.each_cons(2).all? {|a, b| b == a + 1 }
d = m.inject{|c,v| c*v}
g = d + 1
r = Math.sqrt(g).to_i
puts "#{g}, #{r}"
else
puts 'not consecutive'
end
else
puts 'incorrect input'
end
end
square("3,0,1,0")
'字符串==/^ [\ d] $ /''变成[] ==/^ [\ d] $ /'。空数组是否等于正则表达式(对象)?所以总是返回'false'。另外,'if'需要一个'end'。 –
通过字符串循环,并为任何特定的字符串...''specific_string“.match(/^[0-9] * $ /)。to_s.size ==”specific_string“.size' –
你打算'串'是数组,字符串还是正则表达式? – sawa