prolog:内置或其他方法,用于使用类似于返回值的函数
如果可能的话,我尝试让Prolog将变量实例化为公钥/私钥对的相反密钥 所以我基本上有:prolog:内置或其他方法,用于使用类似于返回值的函数,prolog,logic,gnu,Prolog,Logic,Gnu,如果可能的话,我尝试让Prolog将变量实例化为公钥/私钥对的相反密钥 所以我基本上有: publicKey(k_c). privateKey(k_c-1). keyPair(k_c,k_c-1). 鉴于Prolog的性质,我认为您无法管理类似的内容 inverseOf(X) :- (keyPair(X,Y), return(Y),!);(keyPair(Y,X),return(Y),!). Init_3 == inverseOf(Init_2). 我为什么想要/需要这个 我有个规矩 i
publicKey(k_c).
privateKey(k_c-1).
keyPair(k_c,k_c-1).
鉴于Prolog的性质,我认为您无法管理类似的内容
inverseOf(X) :-
(keyPair(X,Y), return(Y),!);(keyPair(Y,X),return(Y),!).
Init_3 == inverseOf(Init_2).
我为什么想要/需要这个
我有个规矩
init(Init_1, Init_2,Init_3)
我想检查一下
inverseOf(X) :-
(keyPair(X,Y), return(Y),!);(keyPair(Y,X),return(Y),!).
Init_3 == inverseOf(Init_2).
有什么想法吗?定义
inverseOf(X, Y):- keyPair(X,Y), !.
inverseOf(X, Y):- keyPair(Y,X), !.
然后使用
inverseOf(Init_2, Init_3).
定义
然后使用
inverseOf(Init_2, Init_3).
定义如下:
keypair(pub1, priv1).
keypair(pub2, priv2).
keypair(pub3, priv3).
keymatch(A, B) :- keypair(A, B).
keymatch(A, B) :- keypair(B, A).
你可以问这样的问题:
keymatch(pub1, X).
keymatch(priv2, X).
keymatch(priv3, pub3).
旁白 Prolog没有函数;你不能在Prolog中说类似于
Y=f(X)
的话(实际上你可以,但如果你来自C/Java/Python/etc的背景,它并不能达到你所期望的效果)
要在Prolog中实现Y=f(X)
的功能,可以执行以下操作
f(X,Y):-Y是X+1。
然后像这样调用它
f(3,Y)。
Y将计算为值4。定义如下:
keypair(pub1, priv1).
keypair(pub2, priv2).
keypair(pub3, priv3).
keymatch(A, B) :- keypair(A, B).
keymatch(A, B) :- keypair(B, A).
你可以问这样的问题:
keymatch(pub1, X).
keymatch(priv2, X).
keymatch(priv3, pub3).
旁白 Prolog没有函数;您不能在Prolog中说类似于
Y=f(X)
的话(实际上您可以,但如果您来自C/Java/Python/etc背景,它并没有达到您所期望的效果)
要在Prolog中实现Y=f(X)
的功能,可以执行以下操作
f(X,Y):-Y是X+1。
然后像这样调用它
f(3,Y)。
Y的值为4。谢谢,我之所以忽略森林,似乎是因为那些树。谢谢,我之所以忽略森林,似乎是因为那些树。