"undefined method for integer" 运行 Ruby 中的自定义方法
"undefined method for integer" running a custom method in Ruby
我正在尝试调用我之前在代码中定义的方法,但出现此错误:
"undefined method `filter' for 0:Integer (NoMethodError)"
这是代码:
def descending_order(n)
@arrNum = n.to_s.chars.map {|i| i.to_i }
@final = [@arrNum[0]]
def self.filter(arr, ind)
if self > arr[ind]
@final.insert(ind, self)
else
self.filter(arr, ind+1)
end
end
@arrNum.each { |i| i.filter(@final, 0) }
return @final
end
我能想到的都试过了!谢谢
你的做法是错误的!
如果您打算 return 给定数字的反向排序数组,则代码片段应为:
def descending_order(n)
n.digits.sort.reverse
end
上面的代码片段 returns 以下输出
puts descending_order(352614)
=> [6, 5, 4, 3, 2, 1]
我正在尝试调用我之前在代码中定义的方法,但出现此错误:
"undefined method `filter' for 0:Integer (NoMethodError)"
这是代码:
def descending_order(n)
@arrNum = n.to_s.chars.map {|i| i.to_i }
@final = [@arrNum[0]]
def self.filter(arr, ind)
if self > arr[ind]
@final.insert(ind, self)
else
self.filter(arr, ind+1)
end
end
@arrNum.each { |i| i.filter(@final, 0) }
return @final
end
我能想到的都试过了!谢谢
你的做法是错误的!
如果您打算 return 给定数字的反向排序数组,则代码片段应为:
def descending_order(n)
n.digits.sort.reverse
end
上面的代码片段 returns 以下输出
puts descending_order(352614)
=> [6, 5, 4, 3, 2, 1]