【发布时间】:2017-12-14 18:33:00
【问题描述】:
我一直在关注我的老板建议我使用的一本书,Agile Web Development With Rails 4。
这本书的摘录让我陷入了一个关于如何完成它所要求的内容的循环:
方法
让我们编写一个返回愉快的个性化问候的方法。我们将调用 这种方法几次。
def say_goodnight(name)
result = 'Good night, ' + name
return result
end
#该睡觉了...
puts say_goodnight('Mary-Ellen') # => 'Goodnight, Mary-Ellen'
puts say_goodnight('John-Boy') # => 'Goodnight, John-Boy'
定义方法后,我们调用它两次。在这两种情况下,我们都会传递结果
到方法puts(),它将其参数输出到控制台,后跟一个
换行符(转到下一行输出)。
语句末尾不需要分号,只要将每个
在单独的行上声明。 Ruby cmets 以 # 字符开头,然后
跑到行尾。缩进不重要(但两个字符
缩进是事实上的 Ruby 标准)。
Ruby 不使用大括号来分隔复合语句的主体和
定义(例如方法和类)。相反,您只需完成身体
用关键字 end。关键字 return 是可选的,如果不存在,则
最后一个表达式的计算结果将被返回。
首先,使用这种特殊方法,您会在控制器或模型中定义它吗?同样,在视图中调用该方法的确切方法是什么?我尝试了多种不同的方法,但似乎总是出现以下错误屏幕:
SayController#say_goodnight 中的参数错误
参数数量错误(给定 0,预期为 1)
【问题讨论】:
标签: ruby-on-rails methods