Я делаю программу для пролога, чтобы играть в «игру Нима», и программа работает нормально. Я пытаюсь создать пользовательский интерфейс для игры, где сначала пользователь должен сказать, что он хочет, чтобы начальное состояние игры было. Однако когда я выполняю код, показанный во фрагменте кода, запись выполняется только после того, как я ввожу какой-то ввод. Кто-нибудь знает, как решить эту проблему?
init(List) :-
write('Enter number of matches in heaps [N1, N2, N3]:'),
read(List).
Я хочу вывод:
?- init(X).
Enter number of matches in heaps [N1, N2, N3]: [1, 3, 5].
X = [1, 3, 5].
Но я получаю:
?- init(X).
[1, 3, 5].
Enter number of matches in heaps [N1, N2, N3]:
X = [1, 3, 5].