4

sample.rakeファイルから ruby​​ クラスを実行したい。

myruby.rbが ruby​​ ファイルであると考えてください。

これをsample.rakeのように実行したいruby myruby.rb

4

2 に答える 2

9

ここで@tobiasが言わなければならないことに加えて、サンプルスクリプトを使用します

のサンプルコンテンツmyruby.rb

puts "hello world"

というファイルを作成します。Rakefile

task :default => [:test]

task :test do
    ruby "my_file.rb"
end

呼び出すrakehello world、コンソールにテキストが表示されます。

アップデート

@tobiasによってすでに提案されているように、関数呼び出しで呼び出しをラップすると、より理にかなっています

だからあなたRakefileは次のようになります

require './myruby.rb'
task :default => [:test]

task :test do
  ruby "my_file.rb"
end

task :test2 do
  do_something
end

myruby.rb

def do_something
  puts "do something"
end

rake test2吐き出す必要がありますdo something

于 2013-08-13T12:59:28.827 に答える
1

システムコールを使用できます

http://www.ruby-doc.org/core-2.0/Kernel.html#method-i-system

または、このようにする理由を仮定すると、myruby.rbは実行時にのみ機能するプレーンな Ruby スクリプトです。

require 'myruby'rake タスクでスクリプトの内容をメソッドに囲み、rake タスクでそのメソッドを実行することを考えることができます。

于 2013-08-13T12:51:48.793 に答える