Плагин NppExec - где установить аргументы командной строки - npp_exec "имя скрипта" param_1 "param 2" - PullRequest
2 голосов
/ 14 декабря 2011

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

1 Ответ

0 голосов
/ 21 августа 2012

Если предположить, что counter_thread.rb - это файл, который в данный момент открыт в Notepad ++, то ruby counter_thread.rb dont_call_join передаст dont_call_join в качестве аргумента в Ruby обычным способом (т. Е. Через ARVG).

Это будет выполненоваш код, как вы ожидаете - если вы передаете аргумент в программу Ruby, подсчет потока не запускается, в противном случае он запускается.

Возможно, это лучший пример?

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

Первая строка выскакивает в окне сообщения, чтобы получить ввод пользователя (по умолчанию Nobody).Вторая строка передает пользовательский ввод в программу ruby ​​one liner.NppExec облегчает.

...