Как обойти аргументы, не созданные в онлайн-редакторе SWI-Prolog? - PullRequest
0 голосов
/ 14 февраля 2019

Я использую SWISH , чтобы написать Пролог, и у меня есть программа, которая конвертирует минуты в часы.

Мой вывод для минут в порядке, однако мои часы выводятся как H = 0+1+1, а не H = 2.Можно ли как-нибудь это исправить?

Я пытался использовать #= вместо = и is, как кто-то рекомендовал для другого поста, но он не работает в Интернетередактор, и я не могу использовать настольный.

m2hm(T, H, M):-
    T < 60,
    H = 0,
    M is T.

m2hm(T, H, M):-
    T >= 60,
    T1 is T-60,
    H = H1+1,
    m2hm(T1, H1, M). 

1 Ответ

0 голосов
/ 14 февраля 2019

Вам нужно использовать is вместо =

H is H1 +1

Вы сделали это правильно в строке ранее с

T1 is T-60

После просмотра вашего комментария ниже,

если я сделаю это, это выдаст мне ошибку: is / 2: Аргументы не созданы достаточно

Ваша настоящая проблема не в том, что вы задали в исходном вопросе,

Ответ на Arguments are not sufficiently instantiated для этого кода дан ответ на этот вопрос .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...