我正在修改gitlab的预接收挂钩
返回分支名称的代码是

print ARGF.read
print "\n"
refs = ARGF.read
print refs

第一次当我打印或放置分支名称时,我得到分支名称,但第二次当我使用相同的字符串时,它不返回任何内容无或空字符串。
你知道为什么会这样我对鲁比还不熟悉,所以想不出来。

最佳答案

ARGF是一个流,设计用于处理作为命令行参数给定或通过STDIN传入的文件的脚本。
手册规定ARGF::read
从ARGF读取长度字节命令行中命名的文件
通过此方法连接并将其视为单个文件,因此当
不带参数调用此伪文件的内容在
他们的全部。
您可能需要使用ARGF::readline
返回ARGF中当前文件的下一行。
或者ARGF::rewind
将当前文件定位到输入的开头,将ARGF.lineno重置为零。

关于ruby - Ruby在再次打印相同字符串时返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30046874/

10-10 18:14