今日、「Prologロジック」を練習しているので、ここで別のスレッドでこの未解決の問題が見つかったので、どのように動作するのか疑問に思っていました。SWI-Prologの要素を増やす
増分毎にその深さによってリストの要素、例えば インクリメント([0,0、[0]]、[1,1、[2]]) - >真
私ほとんど私はこの言語が好きだと思った... :) それは可能なものですか?ありがとう。
今日、「Prologロジック」を練習しているので、ここで別のスレッドでこの未解決の問題が見つかったので、どのように動作するのか疑問に思っていました。SWI-Prologの要素を増やす
増分毎にその深さによってリストの要素、例えば インクリメント([0,0、[0]]、[1,1、[2]]) - >真
私ほとんど私はこの言語が好きだと思った... :) それは可能なものですか?ありがとう。
次のコードの仕事ん:
increment(X,Y):- increment(X,0,Y).
increment([],_,[]) :- !.
increment([X|Xs],N,[Y|Ys]) :- !, N1 is N+1,
increment(X,N1,Y), increment(Xs,N,Ys).
increment(X,N,Y):- Y is X+N.
はちょうどそれに
?- increment([0,0,[0]],X).
X = [1, 1, [2]].
?- increment([0,0,[0,[0,0]]],X).
X = [1, 1, [2, [3, 3]]].
うわー、スマート!私はあなたに電子メールを送った@Alexander –
私は今夜それに答えるつもりです、Nirbert ;-) –
をテストするには、あなたがそれを取得し、質問に答えるならば、私はきっとあなたをupvoteよ:) – CapelliC
その可能性が、用をそれは短い述語ではないことを確認してください – whd
以下の4つの節がかなり短いようです。 –