ruby - 在 Ruby 中,如何读取放置在程序/脚本本身中的数据?

标签 ruby input io

Perl 中有一个 __DATA__ 标记,允许从程序/脚本文件本身加载输入。什么是 Ruby 等价物?

最佳答案

将数据放在__END__标记后,用DATA.read读入(返回一个String对象),拆分字符串在换行符 (\n) 上,并使用 each 等遍历生成的 Array

#!/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

关于ruby - 在 Ruby 中,如何读取放置在程序/脚本本身中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23304313/

相关文章:

ruby - 为什么在 rvm 安装中有两个 rake gemspecs?

c - 为什么以下 C 代码要求输入两次?

c - 如果用户没有输入内容如何继续

mysql - rails应用中不同电脑访问数据库

ruby - OptionParser 的 make_switch 错误为 '-?'

arrays - 从txt文件中逐个字符读取,然后写入C中的另一个文件?

java - 如何在java中将Bystream视频转换为文件视频

Java读卡器乱码

Haskell IO 和关闭文件

ruby - 在 Ruby 中解析大文件的最快方法