[英]What does *$< mean in Ruby?
我正在分析我朋友的代码,我看到了这个小片段:
n,a=*$<
我无法弄清楚它意味着什么 - 我在许多网站上搜索过,但他们似乎并不认识这些特殊字符。
$<
是ARGF。 来自ruby的标准文档:
ARGF是一个设计用于脚本的流,用于处理作为命令行参数提供的文件或通过STDIN传入的文件。
这里有一个很好的解释
*
是splat运算符。
您正在分配a
和n
在此时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.