Ruby 什么是;s";你在这个代码里做什么?

Ruby 什么是;s";你在这个代码里做什么?,ruby,syntax,Ruby,Syntax,以下代码是Caesar cypher的Ruby实现: def caeser(s,n)s.gsub(/./){|c|(c.ord+n).chr}end 这里给出了一个问题的解决方案: caeser(s,n)s末尾的“s”的用途是什么 没有“s”,代码就不能工作 我觉得是这样的: def caeser(s,n) s.gsub(/./){|c|(c.ord+n).chr} end 我想是这样的: def caeser(s,n) s.gsub(/./){|

以下代码是Caesar cypher的Ruby实现:

def caeser(s,n)s.gsub(/./){|c|(c.ord+n).chr}end
这里给出了一个问题的解决方案:

caeser(s,n)s
末尾的“s”的用途是什么


没有“s”,代码就不能工作

我觉得是这样的:

    def caeser(s,n)
     s.gsub(/./){|c|(c.ord+n).chr}
    end

我想是这样的:

    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
最好将声明语句、方法块和结束语句放在单独的行中,这样可以减少混淆

在上面的代码中

def caesar(s,n)
是方法声明块

s.gsub(/./){|c|c.ord+n).chr}
这是方法块,函数的代码在这里实际执行

end
此语句终止该方法

上面的函数格式不好,正确的约定是

def caesar(s,n)
  s.gsub(/./){|c|(c.ord+n).chr}
end

最好将声明语句、方法块和结束语句放在单独的行中,这样可以减少混淆。

非常感谢!!!哇,这完全超出了我的想象。精神崩溃了。非常感谢你的帮助!!!非常感谢你!!!哇,这完全超出了我的想象。精神崩溃了。非常感谢你的帮助!!!嗯,这和RubyonRails3有什么关系?嗯,这和RubyonRails3有什么关系?