Uns*_*ing 3 predicate prolog swi-prolog
我对如何构建一些谓词感兴趣downcase_atom/2.有没有办法查看谓词代码?
您可以从查看谓词属性开始:
?- predicate_property(downcase_atom(_,_), P).
P = visible ;
P = built_in ;
P = foreign ;
P = imported_from(system) ;
P = nodebug ;
false.
Run Code Online (Sandbox Code Playgroud)
这告诉您谓词是从system模块导入的.如果您查看此模块属性:
?- module_property(system, P).
P = class(system) ;
P = exports([]) ;
P = program_size(113424) ;
false.
Run Code Online (Sandbox Code Playgroud)
您将看到没有任何与该模块关联的源文件.因此,在这种情况下,您需要查看SWI-Prolog本身的来源.您会发现谓词是在文件中的C代码中定义的src/os/pl-ctype.c.在其他情况下,可以在Prolog代码中定义系统谓词,在这种情况下,上述步骤可以为您提供定义它们的源文件的名称和位置.
| 归档时间: |
|
| 查看次数: |
498 次 |
| 最近记录: |