【问题标题】:Difference between print and return [duplicate]打印和返回之间的区别[重复]
【发布时间】:2014-04-09 21:36:41
【问题描述】:

当在 Ruby 中的方法内部时,printreturn 有什么区别?

def squared_number(num)
  return (num**2)
end

def squared_number(num)
  print (num**2)
end

【问题讨论】:

  • 仅供参考:Ruby 方法返回最后一行,在这种情况下,return 不是必需的。
  • printreturn 在语言中具有完全不同的功能。一个输出到控制台或文件流,另一个更改程序流程并可选地返回一个值。 return 从不输出到控制台或文件流。
  • 这样想:print 方法用于告诉人类一些事情; return 语句用于告诉程序的其余部分方法调用的结果。

标签: ruby-on-rails ruby


【解决方案1】:

很多。

print 将输出最后没有换行符的数字。

return 将从方法中返回数字。

【讨论】:

    【解决方案2】:

    return 结束当前方法返回传递的参数作为结果。示例:

    def add(a, b)
        return a + b
    end
    
    c = add(1, 2)
    

    在 Ruby 中,最后一条语句自动返回值。所以我们可以像这样定义我们的add方法

    def add(a, b)
        a + b
    end
    

    但是return 非常有用,如果您想在最后一行之前结束方法执行。例如:

    def specialAdd(a, b)
        if a < 0
            return -1
        end
        a + b
    end
    

    如果第一个参数为负,此方法总是返回 -1。在所有其他情况下,它就像add 方法一样工作。

    另一方面,print 方法将传递的参数输出到标准输出(控制台),结果返回 nil。我们可以使用irb - 交互式 ruby​​ 控制台来查看它:

    $ irb
    irb(main):002:0> print "Hello World\n"
    Hello World
    => nil
    irb(main):003:0> 
    

    这里我们看到"Hello World" 加上换行符打印。 print 方法的返回值为nil

    【讨论】:

      猜你喜欢
      • 2017-01-05
      • 2022-08-17
      • 2011-04-22
      • 2011-12-01
      • 2017-07-18
      • 2016-03-22
      • 1970-01-01
      相关资源
      最近更新 更多