summaryrefslogtreecommitdiff
path: root/ipl/packs/loadfuncpp/examples/methodcall.icn
diff options
context:
space:
mode:
Diffstat (limited to 'ipl/packs/loadfuncpp/examples/methodcall.icn')
-rw-r--r--ipl/packs/loadfuncpp/examples/methodcall.icn23
1 files changed, 23 insertions, 0 deletions
diff --git a/ipl/packs/loadfuncpp/examples/methodcall.icn b/ipl/packs/loadfuncpp/examples/methodcall.icn
new file mode 100644
index 0000000..ab48d06
--- /dev/null
+++ b/ipl/packs/loadfuncpp/examples/methodcall.icn
@@ -0,0 +1,23 @@
+
+link loadfuncpp
+
+
+record thing(val, method)
+
+procedure method(x)
+ object := self() | stop("not bound to a record")
+ object.val := x
+end
+
+procedure main()
+
+ obj := thing()
+ obj.method := bindself(method, obj)
+
+ write(image(obj.method))
+
+ obj.method(99)
+
+ write( obj.val )
+end
+