2017-03-02 57 views
-4

我使用隐式返回传递参数。在Ruby中通过参数传递参数

请指出什么是错的,Ruby不会为隐式返回提供任何反馈错误,它只是空白而没有响应。

def add(a, b) 
    a + b 
end 

def subtract(a, b) 
    a - b 
end 

add(20, 45) 

subtract(80, 10) 

我知道它在终端工作。这是工作这个代码的唯一方法吗?我知道使用代码编辑器强制隐式返回不是nil的使用方法。尝试使用此方法执行相同的操作。

+0

有什么问题吗?该代码是有效的,方法是正确的和工作。 –

+0

当我通过代码时,没有任何反应。谢谢Andrey的代码thingy。 – Googly

+0

:)只需在终端中运行代码并查看输出。如果你把它作为文件运行,添加'puts add(20,45)'实际输出结果 –

回答

3

如果您使用的是读取评估打印环(REPL)像irb然后你会看到你的代码的输出作为您键入它。如果你在代码编辑器是你可能将不会。

下面是如何从代码得到一些输出:

def add(a, b) 
    a + b 
end 

def subtract(a, b) 
    a - b 
end 

p add(20, 45) 

p subtract(80, 10) 

任何事情之前把p会给你一个快速inspect(调试)查看到相关对象。通常情况下,Ruby只会在这样的无效环境中抛弃任何结果,而不是要求它在任何地方保存这些方法调用的结果,也不以任何形式显示,这就是为什么没有输出。

我有我的编辑器配置为按下一个按钮来运行Ruby代码,所以也许你也可以选择这样做。大多数都以某种形式进行,但可能需要一些配置。

+0

谢谢tadman,它现在完美的工作,现在我会做配置,谢谢堆。我正在使用崇高的编辑器。 – Googly

+0

在Sublime中它是CTRL + B或Command + B来运行你的代码,如果你有所有的Ruby位插入并正常工作。 – tadman

+0

非常感谢,tadman。 – Googly