📄 insmodul.exp
字号:
TRUECLIPS> (batch "insmodul.bat")TRUECLIPS> (defmodule MAIN (export defclass A))CLIPS> (defclass MAIN::A (is-a USER) (role concrete))CLIPS> (definstances MAIN::A (a-main of A))CLIPS> (defmodule FOO (export defclass B) (export defclass C))CLIPS> (defclass FOO::A (is-a USER) (role concrete))CLIPS> (defclass FOO::B (is-a USER))CLIPS> (defclass FOO::C (is-a B) (role concrete))CLIPS> (definstances FOO::A (a-foo of A) (c of C))CLIPS> (defmodule BAR (import MAIN defclass A) (import FOO defclass C))CLIPS> (defmodule WOZ (import FOO defclass ?ALL))CLIPS> (reset)CLIPS> (set-current-module WOZ)MAINCLIPS> (instances)[initial-object] of INITIAL-OBJECT[c] of FOO::CFor a total of 2 instances.CLIPS> (instances MAIN)[initial-object] of INITIAL-OBJECT[a-main] of AFor a total of 2 instances.CLIPS> (instances FOO)[initial-object] of INITIAL-OBJECT[a-foo] of A[c] of CFor a total of 3 instances.CLIPS> (instances BAR)[initial-object] of INITIAL-OBJECT[a-main] of MAIN::A[c] of FOO::CFor a total of 3 instances.CLIPS> (instances *)MAIN: [initial-object] of INITIAL-OBJECT [a-main] of AFOO: [a-foo] of A [c] of CBAR:WOZ:For a total of 4 instances.CLIPS> (instances FOO B)CLIPS> (instances FOO B inherit)[c] of CFor a total of 1 instance.CLIPS> (instances * A)MAIN: [a-main] of AFOO: [a-foo] of ABAR:WOZ:For a total of 2 instances.CLIPS> (clear)CLIPS> (defmodule QUIX (export ?ALL))CLIPS> (defclass A (is-a USER) (role concrete))CLIPS> (definstances A (of A) (of A))CLIPS> (defmodule FOO (export ?ALL))CLIPS> (defclass A (is-a USER) (role concrete))CLIPS> (definstances A (of A) (of A))CLIPS> (defmodule BAR (import QUIX ?ALL) (export ?ALL))CLIPS> (defmodule WOZ (import FOO ?ALL))CLIPS> (defmodule FRIBBAN (import BAR ?ALL))CLIPS> (set-current-module MAIN)FRIBBANCLIPS> (reset)CLIPS> (instances *)MAIN: [initial-object] of INITIAL-OBJECTQUIX: [gen1] of A [gen2] of AFOO: [gen3] of A [gen4] of ABAR:WOZ:FRIBBAN:For a total of 5 instances.CLIPS> (instances MAIN)[initial-object] of INITIAL-OBJECTFor a total of 1 instance.CLIPS> (instances QUIX)[initial-object] of INITIAL-OBJECT[gen1] of A[gen2] of AFor a total of 3 instances.CLIPS> (instances FOO)[initial-object] of INITIAL-OBJECT[gen3] of A[gen4] of AFor a total of 3 instances.CLIPS> (instances BAR)[initial-object] of INITIAL-OBJECT[gen1] of QUIX::A[gen2] of QUIX::AFor a total of 3 instances.CLIPS> (instances WOZ)[initial-object] of INITIAL-OBJECT[gen3] of FOO::A[gen4] of FOO::AFor a total of 3 instances.CLIPS> (instances FRIBBAN)[initial-object] of INITIAL-OBJECT[gen1] of QUIX::A[gen2] of QUIX::AFor a total of 3 instances.CLIPS> (clear)CLIPS> (defmodule FOO (export defclass FOO))CLIPS> (defclass FOO (is-a USER) (role concrete))CLIPS> (definstances FOO (a of FOO))CLIPS> (defmodule BAR (export defclass BAR))CLIPS> (defclass BAR (is-a USER) (role concrete))CLIPS> (definstances BAR (a of BAR))CLIPS> (defmodule WOZ (import FOO defclass FOO))CLIPS> (defclass WOZ (is-a USER) (role concrete))CLIPS> (definstances WOZ (a of WOZ))CLIPS> (defmodule FRIBBAN (import BAR defclass BAR))CLIPS> (defclass FRIBBAN (is-a USER) (role concrete))CLIPS> (defmodule MAIN (import FOO ?ALL) (import BAR ?ALL))CLIPS> (deffunction MAIN::testit() (reset) (progn$ (?field (get-defmodule-list)) (set-current-module ?field) (printout t ?field ":" crlf) (instances) (printout t crlf) (printout t (instance-existp [a]) " " (defclass-module (class [::a])) " " (defclass-module (class (instance-address * a))) crlf) ))CLIPS> (testit)MAIN:[initial-object] of INITIAL-OBJECT[a] of FOO::FOO[a] of BAR::BARFor a total of 3 instances.FALSE BAR BARFOO:[initial-object] of INITIAL-OBJECT[a] of FOOFor a total of 2 instances.TRUE FOO FOOBAR:[initial-object] of INITIAL-OBJECT[a] of BARFor a total of 2 instances.TRUE BAR BARWOZ:[initial-object] of INITIAL-OBJECT[a] of FOO::FOO[a] of WOZFor a total of 3 instances.TRUE WOZ WOZFRIBBAN:[initial-object] of INITIAL-OBJECT[a] of BAR::BARFor a total of 2 instances.FALSE BAR BARCLIPS> (clear)CLIPS> (defmodule FOO (export defclass A))CLIPS> (defclass A (is-a USER) (role concrete))CLIPS> (definstances A (a of A))CLIPS> (defmodule BAR (export defclass B))CLIPS> (defclass B (is-a USER) (role concrete))CLIPS> (definstances B (a of B))CLIPS> (defmodule WOZ (import BAR defclass B))CLIPS> (defclass A (is-a USER) (role concrete))CLIPS> (definstances A (b of A))CLIPS> (deffunction testit () (reset) (set-current-module WOZ) (printout t "TRUE FALSE TRUE TRUE FALSE" crlf) (printout t (instance-existp [b]) " " (instance-existp [a]) " " (instance-existp [::a]) " " (instance-existp [BAR::a]) " " (instance-existp [FOO::a]) crlf))CLIPS> (testit)TRUE FALSE TRUE TRUE FALSETRUE FALSE TRUE TRUE FALSECLIPS> (dribble-off)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -