我目前在Mac OS X上使用DrRacket并选择语言"R5RS",但是当我进入时
(random 100)
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
reference to undefined identifier: random
Run Code Online (Sandbox Code Playgroud)
这有什么问题?它是由缺少包裹引起的吗?
我最近在学习Prolog,发现用于定义中缀运算符的三种类型令人困惑。
指定运算符的类型时,xfx,xfy和yfx有什么区别?我已经搜索了这个问题,但没有发现任何有用的信息。
我尝试在Prolog中键入以下代码:
:- op(500,yfx,is_alive).
is_alive(A,B) :- display([A,B]).
:- op(500,xfy,is_alive2).
is_alive2(A,B) :- display([A,B]).
:- op(500,xfx,is_alive3).
is_alive3(A,B) :- display([A,B]).
Run Code Online (Sandbox Code Playgroud)
和输出:
| ?- 1 is_alive 2.
'.'(1,'.'(2,[]))
yes
| ?- 1 is_alive2 2.
'.'(1,'.'(2,[]))
yes
| ?- 1 is_alive3 2.
'.'(1,'.'(2,[]))
yes
Run Code Online (Sandbox Code Playgroud)
结果对我来说没有区别。