在Ruby中显式返回是否是很好的风格?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

在Python风格背后,总是有一种“正确的做法”(“Pythonic”方式),我想知道Ruby是否也存在。

例如:

def some_func(arg1, arg2, etc)
  # Do some stuff...
  return value # <-- Is the 'return' needed here?
end
提问于
用户回答回答于

例如,可能有一个像这样的小函数,它将传入的数字加1,并将其分配给一个实例变量。

def plus_one_to_y(x)
    @y = x + 1
end

这是否意味着是一个返回值的函数?

假设很久以后,另一个程序员(可能不熟悉Ruby如何根据最后一行代码执行返回操作),希望将某些打印语句放入日志记录中,并且该函数变为...

def plus_one_to_y(x)
    @y = x + 1
    puts "In plus_one_to_y"
end

所以在我们的小演示功能的情况下,假设我们希望它返回一个值,它将被写成这样...

def plus_one_to_y(x)
    @y = x + 1
    puts "In plus_one_to_y"
    return @y
end

或者,可以这样写,并省略返回语句...

def plus_one_to_y(x)
    @y = x + 1
    puts "In plus_one_to_y"
    @y
end

用户回答回答于

也就是说,如果明确的返回能使事情变得更清晰,或者更容易理解,那么它就不会不利。

扫码关注云+社区