谁能向我解释一下 ruby 中的“左移”语法是什么意思?
例如,我有这个
File.open( folder, 'w' ){ |f| f << 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 block 表示法的示例。 Ruby 中的 block 是匿名方法。 block 期望的变量在竖线之间声明。在本例中变量 f
表示通过 File.open 命令返回的文件对象。
关于<<
运算符(operator)。在这里它被用作连接器。我相信当它用于对象(例如字符串、数组,在本例中是文件)时,它被称为追加运算符。异常(exception)情况是,如果对象是数字,则当它成为左移运算符来移动数字的位时。
关于ruby - Ruby 中的左移是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5260723/