我在Ruby工作,并发现需要在我的一些/大部分方法结束时使用条件返回语句.
这是我有的:
# <ident-list> -> [ident] <ident-A>
def ident_list(keys)
id = nil
ident_a_node = nil
## method hidden
return IdentifierListNode.new(id, ident_a_node) unless id.nil?
return nil
end
Run Code Online (Sandbox Code Playgroud)
有多种回报,是否有更好/更清洁的方式来解决这个问题?
之前的最后一行end可以简单
IdentifierListNode.new(id, ident_a_node) unless id.nil?
Run Code Online (Sandbox Code Playgroud)
执行的最后一个语句是方法的返回值.如果id为nil,则语句将评估为nil,如果不为,则返回新的IdentifierListNode实例.