ruby在没有print语句的情况下给出输出

时间:2015-05-31 18:50:34

标签: ruby

ruby​​中的这段代码正在输出,尽管我没有使用print / puts.Please帮我找出原因

def display_something
    p yield
end

display_something {"say something"}

2 个答案:

答案 0 :(得分:1)

当您致电display_someting时,您正在对收益率使用打印方法(p)。这意味着当您将“say something”传递给display_something方法时,它会打印您的字符串。

答案 1 :(得分:1)

您正在调用p,这相当于调用puts X.inspect - 您正在屈服于包含字符串的块,基本上调用puts "say something".inspect