Как получить вход пользователя в Groovy [duplicate]

Основываясь на этой статье , я нашел этот метод более удобным для моей usecase.

. Моя ветка «dev» опередила «origin / dev» на 96 коммитов (так что эти коммиты еще не были отодвинуты на пульт).

Я хотел пробить эти коммиты в один, прежде чем нажимать изменение. Я предпочитаю переустановить ветвь в состояние «origin / dev» (это оставит все изменения с 96 фиксированными неустановленными), а затем зафиксирует изменения сразу:

git reset origin/dev
git add --all
git commit -m 'my commit message'

17
задан James 17 April 2012 в 02:57
поделиться

5 ответов

, если ваш System.console () имеет значение null, вы можете

Scanner scan = new Scanner(System.in);
String s = scan.nextLine()
2
ответ дан 689 27 August 2018 в 23:18
поделиться

Ваш код работает.

BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
print "Input:"
def userInput = br.readLine()
println "You entered: $userInput"

Предполагая, что вы находитесь в окнах, единственная проблема заключается в том, что ввод считывается с консоли в фоновом режиме, который запускается до groovyconsole. enter image description here [/g0]

10
ответ дан Larry Battle 27 August 2018 в 23:18
поделиться

Вы можете попробовать что-то вроде этого, которое работает в командной строке любых 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!...
3
ответ дан Merlin 27 August 2018 в 23:18
поделиться

Я попытался найти самый простой способ прочитать пользовательский ввод из командной строки ... Я нашел ответ в другом месте , разместит здесь, чтобы документировать «реальный» 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()}"
31
ответ дан Renato 27 August 2018 в 23:18
поделиться
def readln = javax.swing.JOptionPane.&showInputDialog
def username = readln 'What is your name?'
println "Hello $username."
20
ответ дан user1845761 27 August 2018 в 23:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: