ruby - Ruby 中的左移是什么意思?

标签 ruby

谁能向我解释一下 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/

相关文章:

ruby-on-rails - 要求文件使用 dirname(__FILE__) 还是只需要文件名?

ruby-on-rails - ActiveRecord:获取在特定日期没有创建 child 的 parent 的范围

ruby-on-rails - 在 RAILS 中单击后退按钮时禁用 Flash 消息而不禁用缓存

ruby - 根据键在第一个数组元素中附加字符串

ruby - 防止 gem 推送到 RubyGems

ruby - 意外的正则表达式警告 "warning: character class has duplicated range"

ruby-on-rails - Rails 中 1 个模型的 2 个用户定义类

ruby ,雷神 gem ArgumentError

ruby-on-rails - 该行代码中排序的是哪个关联?

javascript - Form_for 不适用于 JS/JQuery