Prolog é vs = com listas
-
20-09-2019 - |
Pergunta
Por que isso falhar L is [1,2,3,4]
, e isso funciona:? L = [1,2,3]
Mas L is 1
e L = 1
ambos trabalham o mesmo.
Solução
is
só deve ser usado quando se avaliam as operações aritméticas sobre o lado direito.
ou seja:.
X is 1 + 2 + 3
is/2
avalia a estrutura do lado direito como uma expressão aritmética. Se não é uma expressão aritmética válida ou um número, is/2
falhar. Caso contrário, o número para o qual a expressão aritmética Avaliamos as é unificado com o [presumivelmente] valor do lado esquerdo não ligado.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow