任何人都可以向我解釋在ruby中的「左移」語法是什麼意思?在Ruby中左移意味着什麼?
舉例來說,我有這個
File.open(folder, 'w'){ |f| f << datavalue }
我知道它的意思寫每個datavalue到文件夾,但|f| f << datavalue
部分沒有道理給我。爲什麼f在括號內,相對於左移並將數據值寫入文件夾?
基本上,我不「噸理解這一行
{ |f| f << datavalue }
任何人都可以向我解釋在ruby中的「左移」語法是什麼意思?在Ruby中左移意味着什麼?
舉例來說,我有這個
File.open(folder, 'w'){ |f| f << datavalue }
我知道它的意思寫每個datavalue到文件夾,但|f| f << datavalue
部分沒有道理給我。爲什麼f在括號內,相對於左移並將數據值寫入文件夾?
基本上,我不「噸理解這一行
{ |f| f << datavalue }
File.open(folder, 'w'){ |f| f << datavalue }
的含義是相同的文字:
File.open(folder, 'w') do |f|
f << datavalue
end
兩者都是紅寶石塊表示法的實例中的塊的Ruby是匿名方法,塊預期的變量是在豎線之間聲明的,在這種情況下,變量f
表示通過File.open命令返回的文件對象
至於<<
運營商。這裏它被用作連接器。我相信它在對象(如字符串,數組,在這種情況下是一個文件)上使用時稱爲附加運算符。例外情況是,如果對象是數字,那麼它將成爲左移操作符來移位數字的位。
some_text = "world!"
hello = "Hello, "
hello << some_text
puts hello # prints "Hello, world!"
我想你應該考慮閱讀一些Ruby語言的介紹。有很多針對初學者的Ruby教程。這將有助於你理解你所得到的答案。 http://stackoverflow.com/questions/5259332/ruby-write-value-from-sql-table-to-a-tmp-folder –