gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 08:41:09 27 4
gpt4 key购买 nike

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

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com