以下代码是Caesar cypher的Ruby实现:
def caeser(s,n)s.gsub(/./){|c|(c.ord+n).chr}end
这是作为问题的解决方案:http://www.sitepoint.com/ruby-golf/
&#34>"的目的是什么?在caeser(s,n)s
的末尾。
没有" s",代码不起作用。
答案 0 :(得分:3)
我觉得它看起来像这样:
def caeser(s,n)
s.gsub(/./){|c|(c.ord+n).chr}
end
答案 1 :(得分:1)
def caeser(s,n)s.gsub(/./){|c|(c.ord+n).chr}end
在上面的代码中
def caesar(s,n)
是方法声明块
s.gsub(/./){|c|c.ord+n).chr}
这是方法块,其中实际执行了函数的代码
end
此语句终止方法
上面的函数格式不正确,适当的约定就是这个
def caesar(s,n)
s.gsub(/./){|c|(c.ord+n).chr}
end
最好将声明语句,方法块和结束语句全部放在不同的行上,因为这会减少混淆。