[mercury-users] Specific If Clause Goal/Expression problem
Goncalo Jorge Coelho e Silva
l10454 at alunos.uevora.pt
Fri May 16 11:52:49 AEST 2003
Hi again,
I was working on code to check if a given string
contains a '/' character, and if so, produce a
list of strings separated by the '/' char itself.
(Sort of a string__words predicate with a is_slash
predicate as it's 1st arg, instead of char__is_whitespace)
... but as a function.
So far, so good but when I try to use the resulting
list to compare it with [], i get:
inter.m:094: In clause for predicate `inter:chooseInstruct/5':
inter.m:094: error: the language construct =/2 should be
inter.m:094: used as a goal, not as an expression.
inter.m:094: If you are trying to use a goal as a boolean function,
inter.m:094: you should write `if <goal> then yes else no' instead.
make: *** [run] Error 1
chooseInstruct(ChoppedString, ChoppedString2, ChoppedCommaList)-->
(
if {(checkLabel(ChoppedString)= ChoppedCommaList) \= []} then
%
% (!) Technically, I shouldn't have used the name
% 'ChoppedCommaList' on this result but
% 'ChoppedSlashList' or something...
%
io__write_string(" Label! ")
%
% pprint(ChoppedCommaList)
%
% doSomethingWith Label
%
% doSomethingWith ChoppedString2
else
if {ChoppedString = "put_structure"} then
...
checkLabel(ChoppedString)= ChoppedSlashList :-
string__words(is_slash, ChoppedString) = ChoppedSlashList.
is_slash(Char):-
string__to_char_list("/") = [H|T],
H = Char.
Can't I use the following expression, or something similar
to this with the same effect in an if clause ? :
(checkLabel(ChoppedString)= ChoppedCommaList)\= []
% Compares the List resulting from applying the
% function to a string, against a empty list
Thanks,
Goncalo
--------------------------------------------------------------------------
mercury-users mailing list
post: mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the users
mailing list