首页 > 解决方案 > 多个方法(?)和对象(即 num.to_s.chars.map{|x| x.to_i**2}.join.to_i)的规则是什么?

问题描述

这样的结构规则是什么?我是编程新手,我不知道“.something's”(方法?)的技术术语。

但是,在此示例中,有 5 个(to_s、chars、map、join 和 to_i)。

    num.to_s.chars.map{|x| x.to_i**2}.join.to_i

基本上,我想知道的是,构建这些的结构是什么?我试过做一些类似的事情,但收到了错误。那么,这些是否有特定的顺序或结构?并且是正确的术语方法吗?

标签: ruby-on-railsruby

解决方案


理想情况下,您应该首先了解 ruby​​ 语言的基础知识。Ruby 是最容易掌握的语言之一。查看https://try.ruby-lang.org,您将更好地理解以下内容。

这是一个表达式,其中每个表达式的结果都会调用一系列方法。

假设numinteger,请参阅下面的评论

num
  .to_s         # to_s on any ruby object converts it to string
  .chars        # returns individual characters in string array
  .map { |x|    # iterates over each number character in array
    x.to_i**2   # and convert each character to integer and sqare it( ** is exponent operator) 
  } 
  .join         # map returns new array and join/conctenate each number 
  .to_i         # convert it back to integer

所以如果 num 是123,它返回149基本上每个数字都是平方的。

可以在irb中一一运行这段代码自己试试

在此处输入图像描述


推荐阅读