我在 Ruby 中有两种方法:
def reverse(first,second)
@items[first..second]=@items[first..second].reverse
end
和:
def reverse
@items.reverse!
end
我可以将这些组合成一个函数并使用一个if first.nil? && second.nil?
条件,还是保持原样更好?
第一个选项是使用默认值参数:
def reverse(first = nil, second = nil)
if first && second
@items[first..second]=@items[first..second].reverse
else
@items.reverse!
end
end
第二个选项是使用可变数量的参数:
def reverse(*args)
if args.length == 2
@items[args.first..args.last]=@items[args.first..args.last].reverse
else
@items.reverse!
end
end