The*_*rof 1 ruby arrays string integer
我有一个函数,它接受一个字符串 a 返回第二个最高值。
例如,如果输入是“abc123”,则返回值是 2。这工作正常。
但是我想更改函数,以便如果只找到一个整数或没有找到整数..我想返回-1。
例如,如果 input = "abc1",则返回值应该 = -1,此输入的当前返回值为 0。
这是我的功能
def function(input)
input.split("").map { |x| x.to_i }.sort[-2]
end
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒!
您可以使用#scan方法首先选择整数。如果整数的大小小于 2 —[-2]返回 nil,因此您可以使用它||来传递您的默认值。
def function(input)
input.scan(/\d/).map(&:to_i).sort[-2] || -1
end
Run Code Online (Sandbox Code Playgroud)