summaryrefslogtreecommitdiff
path: root/ipl/packs/loadfuncpp/examples/methodcall.icn
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2013-01-28 19:02:21 +0000
committerIgor Pashev <pashev.igor@gmail.com>2013-01-28 19:02:21 +0000
commitf627f77f23d1497c9e1f4269b5c8812d12b42f18 (patch)
tree708772d83a8355e25155cf233d5a9e38f8ad4d96 /ipl/packs/loadfuncpp/examples/methodcall.icn
parent6ab0c0f5bf14ed9c15370407b9ee7e0b4b089ae1 (diff)
downloadicon-upstream.tar.gz
Imported Upstream version 9.5.0upstream/9.5.0upstream
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
+