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! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |