簡體   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