繁体   English   中英

Ruby中的* $ <是什么意思?

[英]What does *$< mean in Ruby?

我正在分析我朋友的代码,我看到了这个小片段:

n,a=*$<

我无法弄清楚它意味着什么 - 我在许多网站上搜索过,但他们似乎并不认识这些特殊字符。

$<是ARGF。 来自ruby的标准文档:

ARGF是一个设计用于脚本的流,用于处理作为命令行参数提供的文件或通过STDIN传入的文件。

这里有一个很好的解释

*是splat运算符。

您正在分配an在此时ARGF / STDIN内部的内容。

例:

raducroitoru@dotix ~$ cat a.txt                                         
a
b
c

raducroitoru@dotix ~$ cat a.rb                                          
a, n = *$<
puts "a is: #{a}"
puts "n is: #{n}"

raducroitoru@dotix ~$ ruby a.rb a.txt                                   
a is: a
n is: b

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM