我在我试图使用Automator运行,而不是通过命令行的.rb文件的一些Ruby代码。 下面是代码的样本(文件名是“filelines_revise.rb”):
lines = IO.readlines('filelines_before_CAP.txt').map do |line|
array = line.split.each { |i| i.capitalize! }
if array.include?("Ws")
array.delete("Ws")
array[-1,0] = "Ws"
end
if array.include?("Es")
array.delete("Es")
array[-1,0] = "Es"
end
array_2 = array.join(" ")
array_2.gsub(/ Ws /, ", west side")
.gsub(/ ES /, ", east side")
end
File.open('filelines_after_CAP.txt', 'w') do |file|
file.puts lines
end
当我使用命令行命令“红宝石/Desktop/filelines_revise/filelines_revise.rb”运行这段代码和代码运行正常。 它发现原来的.txt文件,读取每一行,改变了文件的代码使然,然后创建与修改后的行的新文件。
当我尝试投入的Automator这无论是作为工作流或应用程序,我把运行shell脚本我的流程,使用/斌/庆典,合格输入:以标准输入,然后命令“红宝石/桌面/ filelines_revise / filelines_revise。 RB”。 当我去运行该脚本,我得到一个错误阅读:
桌面/ filelines_revise / filelines_revise.rb:18语法错误,意外,预计DMOZ目录 ''
第18行是第二.gsub“.gsub(/ ES /”,东侧‘)’在上面的代码中列出。
Automator的是不是用我的Ruby 1.9.3作为命令行所做的是这可能吗? 也许我应该会对此有所不同? 提前致谢。