Основываясь на этой статье , я нашел этот метод более удобным для моей usecase.
. Моя ветка «dev» опередила «origin / dev» на 96 коммитов (так что эти коммиты еще не были отодвинуты на пульт).
Я хотел пробить эти коммиты в один, прежде чем нажимать изменение. Я предпочитаю переустановить ветвь в состояние «origin / dev» (это оставит все изменения с 96 фиксированными неустановленными), а затем зафиксирует изменения сразу:
git reset origin/dev
git add --all
git commit -m 'my commit message'
, если ваш System.console () имеет значение null, вы можете
Scanner scan = new Scanner(System.in);
String s = scan.nextLine()
Ваш код работает.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
print "Input:"
def userInput = br.readLine()
println "You entered: $userInput"
Предполагая, что вы находитесь в окнах, единственная проблема заключается в том, что ввод считывается с консоли в фоновом режиме, который запускается до groovyconsole. [/g0]
Вы можете попробовать что-то вроде этого, которое работает в командной строке любых o / s, но также и в GoovyConsole, где появляется диалог [как отмечено в предыдущем сообщении]:
def cons = System.console()
def yn
if (cons) {
yn = {((cons.readLine(it + " (y/n) ")?:"n").trim()?:"n")?.charAt(0).toLowerCase().toString() }
} else {
cons = javax.swing.JOptionPane.&showInputDialog
yn = {((cons(it + " (y/n) ")?:"n").trim()?:"n")?.charAt(0).toLowerCase().toString() }
}
if (yn("Did you want to do something?") == 'y')
...do something here!...
Я попытался найти самый простой способ прочитать пользовательский ввод из командной строки ... Я нашел ответ в другом месте , разместит здесь, чтобы документировать «реальный» Groovy путь, поскольку он все еще отсутствует:
def username = System.console().readLine 'What is your name?'
println "Hello $username"
Как говорит Ларри Блэкс, если использовать консоль с отличным дизайном, обязательно посмотрите на фоновое «черное» окно для вывода и введите ввод.
EDIT
В среде, где Консоль недоступна, например, запуск из вашей среды IDE, возможно, используйте это вместо:
println "What is your name?"
println "Your name is ${System.in.newReader().readLine()}"
def readln = javax.swing.JOptionPane.&showInputDialog
def username = readln 'What is your name?'
println "Hello $username."