加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby中的’a’是什么意思?open()`,什么是| f |意思?

发布时间:2020-12-17 01:54:38 所属栏目:百科 来源:网络整理
导读:‘a’和| f |是什么意思是下面? open('myfile.out','a') { |f| f.puts "Hello,world."} 解决方法 ‘a’只是一个文件打开模式,就像你在C/C++中看到的那样.这意味着追加,并且相对不常见 – 你更有可能熟悉’r'(读),’w'(写)等. {| f | …}位是令人兴奋的部分.
‘a’和| f |是什么意思是下面?

open('myfile.out','a') { |f|
  f.puts "Hello,world."
}

解决方法

‘a’只是一个文件打开模式,就像你在C/C++中看到的那样.这意味着追加,并且相对不常见 – 你更有可能熟悉’r'(读),’w'(写)等.

{| f | …}位是令人兴奋的部分.它被称为一个块 – 它们无处不在,而且它们可能是我最喜欢的Ruby部分 – 我最近又回到了C语言,我发现自己也在咒骂语言而不是一直支持它们.

想想代码就像foo(bar){| baz | …}创建一个无名函数,并将该函数作为另一个(隐藏)参数传递给foo(有点像这是C中成员函数的隐藏参数) – 它不是隐藏的,因为你在那里指定它.

现在,当你将块传递给foo时,它最终将调用你的块(使用yield语句),它将提供参数baz.如果我的foo表现得像你的File.open函数,它的定义看起来像这样:

def foo(filename,&block)
    file = File.open(filename)
    yield(file)
    file.close
end

您可以看到它如何打开文件,将其传递给带有yield的块,然后在块返回后关闭文件.很方便 – 积木是你的朋友!

另一个开始缠绕它们的好地方是每个函数 – Ruby中最简单和最常见的块函数之一:

[holt@Michaela ~]$irb
irb(main):001:0> ['Welcome','to','Ruby!'].each {|word| puts word}
Welcome
to
Ruby!
=> ["Welcome","to","Ruby!"]
irb(main):002:0>

这一次,你的块被调用三次,每次一个不同的数组元素作为单词产生到你的块 – 这是一个为数组的每个元素调用一个函数的超级简单方法.

希望这会有所帮助,欢迎来到Ruby!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读