summaryrefslogtreecommitdiff
path: root/ipl/packs/loadfuncpp/doc/object.icn
diff options
context:
space:
mode:
Diffstat (limited to 'ipl/packs/loadfuncpp/doc/object.icn')
-rw-r--r--ipl/packs/loadfuncpp/doc/object.icn23
1 files changed, 23 insertions, 0 deletions
diff --git a/ipl/packs/loadfuncpp/doc/object.icn b/ipl/packs/loadfuncpp/doc/object.icn
new file mode 100644
index 0000000..5fe2ba4
--- /dev/null
+++ b/ipl/packs/loadfuncpp/doc/object.icn
@@ -0,0 +1,23 @@
+
+link loadfuncpp
+
+record object(val, print)
+
+procedure print()
+ obj := self() | fail
+ write( obj.val )
+end
+
+procedure newObject(x)
+ obj := object(x) #don't assign print method yet
+ #print will be a copy bound to the record it's embedded in
+ obj.print := bindself(print, obj)
+ return obj
+end
+
+procedure main()
+ obj := newObject("Hello")
+ obj.print()
+end
+
+