summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-10-19 00:12:57 +0000
committerPaul Buetow <paul@buetow.org>2008-10-19 00:12:57 +0000
commit982e35bd0bd9bc9b55c0f898556c3e1831141258 (patch)
tree95d12d94983ac396c693f96825cc3beea8cad50c /examples
parent41e590f05d295a40ba4633d493be1ffe28f16ddf (diff)
synonyms work
Diffstat (limited to 'examples')
-rw-r--r--examples/synonyms.fy32
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/synonyms.fy b/examples/synonyms.fy
new file mode 100644
index 0000000..3ffb105
--- /dev/null
+++ b/examples/synonyms.fy
@@ -0,0 +1,32 @@
+#*
+ * Examples of how to use synonyms
+ *#
+
+# Create a variable foo, and bar is a synonym for foo
+my foo = "foo";
+my bar = \foo;
+
+# Reset the value of foo
+foo = "bar";
+
+# The synonym variable should now also set to "bar"
+assert "bar" == say bar;
+
+# Create a new procedure baz
+proc baz {
+ say "I am baz";
+}
+
+# Make a synonym baz, and undefine baz
+my bay = \baz;
+undef baz;
+
+# bay still has a reference of the original procedure baz
+bay; # this prints aut "I am baz"
+
+assert 0 == defined baz;
+assert 1 == defined bay;
+
+# This removes the procedure from memory
+undef bay;
+