1

我正在尝试用 Ruby 编写一个小控制台脚本,它将为我运行我的测试。我基于Peter Cooper 的Rake 任务

它可以工作,但如果它在每次运行之前清除控制台会很好。

有人可以告诉我如何让它做到这一点吗?

这是我到目前为止所拥有的:

require 'find'
files = {}

session_count = 0

puts "Watching #{File.expand_path(File.dirname(__FILE__))}."

loop do
  changed = false
  Find.find(File.dirname(__FILE__)) do |file|
    next unless file =~ /\.rb$/
    ctime = File.ctime(file).to_i

    if ctime != files[file]
      files[file] = ctime
      changed = true
    end
  end

  if changed

    command = 'ruby -Itest test/**/*_test.rb'

    puts '---------------------------------------------------------------------------------------------------------'
    puts "[#{session_count}] #### Running:\n      #{command}"
    puts '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'

    puts `#{command}`

    puts '---------------------------------------------------------------------------------------------------------'
    puts "[#{session_count}] #### Done"
    puts '---------------------------------------------------------------------------------------------------------'

    session_count += 1

  end

  sleep 1
end

我在 Mac OS 10.7.5 上并使用 Zsh 4.3.11。

4

1 回答 1

4

你可以这样做:

 if changed
    system('clear') 
...
于 2013-02-22T03:09:16.293 回答