我在 shell 中调用 profit.rb 的 ruby 脚本,需要将一个字符串传递到 profit.rb 中,ruby 中的语句是:File.open("ctr-profit.data", "r") do |f| 就是把这个 ctr-profit.data 变成依靠参数传入。应该怎么做
可以通过环境变量,命令行参数,也可以通过 STDIN(管道,pipe,whatever)传递参数。
通过环境变量:
~ $ FOOBAR=foobar ruby -e "p ENV['FOOBAR']" "foobar"
通过命令行参数:
~ $ ruby -e 'p ARGV[0]' foobar "foobar"
通过 STDIN:
~ $ echo "foobar" | ruby -e 'p ARGF.read' "foobar\n"