命令在我的可執行的ruby文件我有以下幾點:運行命令行從托爾可執行
#!/usr/bin/env ruby
require 'thor'
include Thor::Actions
class UI < Thor
# def self.source_root
# File.dirname(__FILE__)
# end
desc "makecal", "Generates postscript calendar to your desktop"
def makecal
# puts `ls ~`
puts run('ls ~')
# puts run "pcalmakecal -B -b all -d Helvetica/8 -t Helvetica/16 -S #{Time.now.month} #{Time.now.year} > ~/Desktop/#{Time.now.month}-#{Time.now.year}"
end
end
UI.start
在終端,當我運行該文件是我得到的托爾的運行命令返回NilClass一個空行。
但是,當我取消對`ls〜`puts的註釋並註釋掉Thor的運行方法時,我得到了預期的主目錄輸出。
我很難弄清楚爲什麼我不能像Thor的運行方法一樣工作,就像Ruby的蜱蟲一樣。
任何想法,我可能出錯了?爲尋找
你能編輯你的初始文章,這是代碼清單嗎? – davetron5000
赫,可悲的是,這是我的問題 - 有點反氣候。當我正確包含Thor :: Actions時,run()的行爲就像我期望的那樣。 – jklina