跳转到内容

Prolog/内置谓词

来自维基教科书,开放的书,开放的世界

ISO Prolog 中内置谓词列表。

术语统一

[编辑 | 编辑源代码]
=/2
Prolog 统一
unify_with_occurs_check/2
(\=)/2
不可 Prolog 统一

类型测试

[编辑 | 编辑源代码]
var/1
如果术语当前是变量,则为真
atom/1
如果术语绑定到原子,则为真
integer/1
如果术语绑定到整数,则为真
float/1
如果术语绑定到浮点数,则为真
atomic/1
如果术语绑定到原子、整数或浮点数,则为真
compound/1
如果术语绑定到复合项,则为真
nonvar/1
如果术语不是变量,则为真
number/1
如果术语绑定到整数或浮点数,则为真

术语比较

[编辑 | 编辑源代码]
(@=<)/2
术语小于或等于
(==)/2
术语相同
(\==)/2
术语不同
(@<)/2
术语小于
(@>)/2
术语大于
(@>=)/2
术语大于或等于

术语创建和分解

[编辑 | 编辑源代码]
functor/3
arg/3
(=../2)
copy_term/2

算术运算

[编辑 | 编辑源代码]
is/2

算术比较

[编辑 | 编辑源代码]
'=:='/2
算术等于
'=\='/2
算术不等于
'<'/2
算术小于
'=<'/2
算术小于或等于
'>'/2
算术大于
'>='/2
算术大于或等于

子句检索和信息

[编辑 | 编辑源代码]
clause/2
current_predicate/1

子句创建和销毁

[编辑 | 编辑源代码]
asserta/1
assertz/1
retract/1
abolish/1

所有解决方案

[编辑 | 编辑源代码]
findall/3
bagof/3
setof/3

输入和输出

[编辑 | 编辑源代码]

流选择和控制

[编辑 | 编辑源代码]
current_input/1
current_output/1
set_input/1
set_output/1
open/4, open/3
打开流
close/1, close/2
关闭流
stream_property/2
at_end_of_stream/1, at_end_of_stream/0
set_stream_position/2

字符输入输出

[编辑 | 编辑源代码]
get_char/2, get_char/1
get_code/2, get_code/1
peek_char/2, peek_char/1
peek_code/2, peek_code/1
put_char/2, put_char/1
put_code/2, put_code/1
nl/0, nl/1

从二进制流中读取

[编辑 | 编辑源代码]
get_byte/2, get_byte/1
peek_byte/2, peek_byte/1
put_byte/2, put_byte/1

术语输入和输出

[编辑 | 编辑源代码]
read_term/2, read_term/3
read/1, read/2

写入术语

[编辑 | 编辑源代码]
write_term/3, write_term/2
write/1, write/2
writeq/1, writeq/2
write_canonical/1, write_canonical/2

操作符

[编辑 | 编辑源代码]
op/3
current_op/3

字符转换

[编辑 | 编辑源代码]
char_conversion/2
current_char_conversion/2

逻辑和控制

[编辑 | 编辑源代码]
(\+)/1
不可证伪
once/1
repeat/0

原子处理

[编辑 | 编辑源代码]
atom_length/2
atom_concat/3
sub_atom/5
atom_chars
atom_codes/2
char_code/2
number_chars/2
number_codes/2

实现定义的钩子

[编辑 | 编辑源代码]
set_prolog_flag/2
current_prolog_flag/2
halt/0, halt/1

可评估的函子

[编辑 | 编辑源代码]
(+)/2
加法
(-)/2
减法
(*)/2
乘法
(//)/2
整数除法
(/)/2
除法
(rem)/2
余数
(mod)/2
(-)/1
否定
(abs)/1
绝对值
(sign)/1
符号
(float_integer_part)/1
整数部分
(float_fractional_part)/1
小数部分
(float)/1
浮点数强制转换
(floor)/1
向下取整
(truncate)/1
截断
(round)/1
四舍五入
(ceiling)/1
向上取整

其他算术和按位运算函子

[编辑 | 编辑源代码]
(**)/2
乘方
sin/1
正弦
cos/1
余弦
atan/1
反正切
exp/1
指数
log/1
对数
sqrt/1
平方根
(>>)/2
按位右移
(<<)/2
按位左移
(/\)/2
按位与
(\/)/2
按位或
(\)/1
按位取反


华夏公益教科书