⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myjob1.pro

📁 Visual Prolog 7.1的一些学习资料,希望对您有用
💻 PRO
字号:
/*****************************************************************************

                        Copyright (c) Prolog Development Center A/S

******************************************************************************/

implement myJob1
    open core

constants
    className = "myBusiness/myJob1".
    classVersion = "$JustDate: 2007-04-20 $$Revision: 4 $".

clauses
    classInfo(className, classVersion).

class facts
    nextId : unsigned := 1.
clauses
    myJob1(X, Y) :-
        J = myJob1::new(nextId, X, Y),
        nextId := nextId+1,
        _Thread = bgSynchronizer::startJob(J).

facts
    id : unsigned.
    x : unsigned.
    y : unsigned.

clauses
    new(Id, X, Y) :-
        id := Id,
        x := X,
        y := Y.

facts
    theResult : integer := erroneous.

clauses
    job() :-
        bgSynchronizer::writef("starting myJob1 (JobID = %)\n", id),
        theResult := 0,
        S = std::fromTo(1, convert(integer, y)),
        add(x),
        bgSynchronizer::writef("    % (: JobID) step % gives %\n", id, S, theResult),
        fail().
    job().

predicates
    add : (unsigned Add).
clauses
    add(Add) :-
        _ = std::fromTo(1, Add),
        theResult := theResult+1,
        fail().
    add(_Add).

clauses
    result() :-
        stdIO::writef("% (: JobID) % multiplied with % is % \n", id, x, y, theResult).

end implement myJob1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -