2

NppExec dochelp は次のように述べています。

  • これで、NPP_EXEC コマンドはスクリプトに引数を渡すことができます。これらの引数は、次のマクロ変数を介してスクリプト内でアクセスできます: $(ARGC)$(ARGV)$(ARGV[n])。例: npp_exec "script name" param_1 "param 2". この例では、スクリプトに次の値を設定します。 $(ARGC) = 3; $(ARGV) = param_1 "param 2"; $(ARGV[0]) = script name; $(ARGV[1]) = param_1; $(ARGV[2]) = param 2.

しかし、どこに設定すればよいかわかりません。それは実行ボックスにありますか、それとも詳細オプションにありますか?

例えば、

  # counter_thread.rb
count = 0
counter_thread = Thread.new do
  1.upto(1000000) { count += 1; }
end

counter_thread.join unless ARGV[0]
puts "The counter was able to count up to #{count}."

テスト 1 : 引数がないため、NppExec はこの問題なく実行されます

counter_thread.rb
The counter was able to count up to 1000000.

テスト 2: 以下の設定を知りたいです。(dont_call_join はここでは引数です)

counter_thread.rb dont_call_join
4

1 に答える 1

0

counter_thread.rb が現在 Notepad++ で開かれているファイルであると仮定すると、ruby counter_thread.rb dont_call_joindont_call_join は通常の方法 (つまり 経由ARVG) で Ruby に引数として渡されます。

これにより、期待どおりにコードが実行されます。Ruby プログラムに引数を渡すと、カウント スレッドは実行されません。それ以外の場合は実行されます。

おそらくこれはより良い例ですか?

      inputbox "What is your name?" : Nobody    
      ruby -e "puts \"Hello #{ARGV[0]}!\" " $(INPUT[1])

最初の行は、ユーザー入力を取得するメッセージ ボックスをポップアップ表示します (デフォルトは [Nobody] です)。2 行目は、ユーザー入力を ruby​​ ワンライナー プログラムに渡します。NppExec が容易になります。

于 2012-08-21T07:41:21.857 に答える