在Ruby中,如何读取程序/脚本本身内部的数据?
在在Ruby中,如何读取程序/脚本本身内部的数据?,ruby,input,io,Ruby,Input,Io,在Perl中有一个\uuuuuuuuuuuuuuuuuuuuuuu标记,允许从程序/脚本文件本身加载输入。Ruby的等价物是什么?将数据放在\uuuu END\uuuu标记之后,用数据读入。read(返回字符串对象),在换行符(\n)上拆分字符串,然后用每一个或诸如此类的内容迭代生成的数组 #!/usr/bin/env ruby DATA.read.split(/\n/).each_with_index do |l,i| puts "line #{i+1}: #{l}" end
Perl
中有一个\uuuuuuuuuuuuuuuuuuuuuuu
标记,允许从程序/脚本文件本身加载输入。Ruby的等价物是什么?将数据放在\uuuu END\uuuu
标记之后,用数据读入。read
(返回字符串
对象),在换行符(\n
)上拆分字符串,然后用每一个或诸如此类的内容迭代生成的数组
#!/usr/bin/env ruby
DATA.read.split(/\n/).each_with_index do |l,i|
puts "line #{i+1}: #{l}"
end
__END__
red
orange
yellow
green
blue
indigo
violet
运行示例:
-bash> ruby -W /tmp/x.rb
line 1: red
line 2: orange
line 3: yellow
line 4: green
line 5: blue
line 6: indigo
line 7: violet
将数据放在\uuuu END\uuuuu
标记之后,用数据读入。读取(返回字符串
对象),在换行符(\n
)上拆分字符串,然后用每个或类似内容迭代生成的数组
#!/usr/bin/env ruby
DATA.read.split(/\n/).each_with_index do |l,i|
puts "line #{i+1}: #{l}"
end
__END__
red
orange
yellow
green
blue
indigo
violet
运行示例:
-bash> ruby -W /tmp/x.rb
line 1: red
line 2: orange
line 3: yellow
line 4: green
line 5: blue
line 6: indigo
line 7: violet
有一个很好的讨论,有一个很好的讨论。