我試圖編寫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