方法没有返回任何东西

时间:2016-06-12 23:07:51

标签: ruby

我是Ruby的新手,有人可以回答为什么下面的代码没有产生任何输出吗?:

var phpVars:URLVariables = new URLVariables();
phpVars.maxId = maxId;
phpVars.minId = minId;

var phpFileReq:URLRequest = new URLRequest("http://localhost/social_media_1/timeline.php");
phpFileReq.data = phpVars; //# assign some data to this request
phpFileReq.method = URLRequestMethod.POST; //# now post (send) the data

它没有给我任何结果

4 个答案:

答案 0 :(得分:3)

嗯,首先,当你在方法结束时返回它并不向屏幕输出任何内容时,返回方法只能返回一些值。如果你这样做,让我举例说明:

def method(name)
   return "Hello  + #{name}"
end

hello = method("Amy")

现在返回发送了值" Hello + Amy"到了'你好''变量,所以'你好'具有" Hello + Amy"的价值。这是方法中返回的内容。 现在很棒,在ruby中输出一些你需要使用puts的内容。例如:

def method(name)
   puts "Hello  + #{name}"
end

method("Amy")

这将打印出" Hello + Amy"。并且,最后,如果只想打印" Hello Amy"!希望它有所帮助

答案 1 :(得分:2)

哪个输出?它只返回字符串。你需要打印它或什么的。将最后一个方法调用替换为:

puts method("Amy")

然后你会注意到你可能不需要那个+,因为你已经将name添加为字符串的一部分

答案 2 :(得分:1)

您可以使用puts或print方法打印功能结果。

puts(method("Amy"))

或在变量中

hello = method("Amy")
puts(hello)

答案 3 :(得分:1)

此外,您可以省略return关键字,Ruby方法总是返回表达式最后一行的求值结果,除非在它之前有明确的返回值。如果要显式返回值,可以使用return关键字Ex。如下:

def method(name)
  "Hello "  + "#{name}"
end

p method("Amy")
# Output : "Hello  Amy"

def method(name)
  return "Hello " + "#{name}"
end


p method("Amy")
# Output : "Hello Amy"

def method(name)
   return "Bye " + "#{name}"
  "Hello " + "#{name}"
end

p method("Amy")
# Output "Bye Amy"