ruby - 这两个方法参数定义有什么区别?

标签 ruby pointers methods

我开始学习 Ruby。我读到通过引用传递给方法的参数, 但是我不明白这两种方法之间的区别。

def print(text)
   puts text
end

def print(*text)
    puts text
end

使用 * 意味着我们像在 C 中一样传递一个指针?

最佳答案

*text 就是 Ruby 中所谓的 splat 运算符。这基本上意味着如果您将多个参数传递给第二个打印,它们将被吞入单个文本变量中。

参见 The Splat Operator in Ruby

关于ruby - 这两个方法参数定义有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8689511/

相关文章:

ruby - 如何打印出包含 TAB 字符的 Ruby 文件中的行?

RubyRep 安装程序导致错误 "Exception caught: Mysql::Error: query: not connected: SHOW TABLES"

ruby-on-rails - Postgres 不会使用 c9.io 连接到 Ruby on Rails 应用程序中的服务器

C——函数指针数组

c - 将 char *c[] 分配给结构中的双指针

ruby - 如何检查字符串是否以 Liquid 中的特定子字符串结尾?

objective-c - 将浮点指针数组传递到 VBO

java - 实现接口(interface)时避免使用无体抽象方法 - java

ruby - 如何调用作为哈希值的方法?

iphone - 调用另一个类的方法(例如通过单例类)?