0
checkChar :-
    nl,
    write('Enter a character [press 0 to stop]: '),
    get(X),
    process(X).

process(X) :-
    S = put(X),
    0 == S,
    !.

process(X) :-
    write('ASCII code for <'),
    put(X),
    write('>:'),
    write(X),
    checkChar.

ユーザーが必要なものを入力すると、プロローグが文字を ASCII コードに変換して表示します。プロローグは 0 を入力すると実行を停止しますが、ASCII 48 と比較してすぐに実行する以外にどうすればよいですか? (ASCII 48 = 0) これは私が試したものですが、0 を入力すると停止できません。

4

1 に答える 1

1

これはあなたが探しているものだと思います:

checkChar :-
    nl,
    write('Enter a character [press 0 to stop]: '),
    get(X),
    process(X).

process(X) :-
    X =\= "0",
    write('ASCII code for <'),
    put(X),
    write('>:'),
    write(X),
    checkChar.
于 2014-04-24T13:37:08.123 に答える