我正在研究一些重构工具。如果我可以通过它的定义替换一些方法调用会很好,这通常是一个语句块。例如,原始代码可能是:
some_condition ? a : b
def a
...
# statements1
...
end
def d
...
# statements2
...
end
我想让我的内联工具直接用代码块替换方法调用。
为此,我想将语句列表组合在一起。我们通常如何做到这一点?有没有办法编写这样的代码?
some_condition ? {
...
# statements1
...
} : {
...
# statements2
...
}
答案 0 :(得分:1)
是。您可以使用括号,也可以使用begin
... end
。
true ? (
puts "a"
puts "b"
puts "c"
) : (
puts "d"
)
true ? begin
puts "a"
puts "b"
puts "c"
end : begin
puts "d"
end
答案 1 :(得分:0)
您的代码可以缩减为一行。
%w(a b c).each { |char| puts char }
此处else
语句无关紧要,因为true
将始终返回true。