diff options
author | apense <apense@users.noreply.github.com> | 2015-06-24 23:56:35 -0400 |
---|---|---|
committer | apense <apense@users.noreply.github.com> | 2015-06-24 23:56:35 -0400 |
commit | 4e129324f61bfff97fafc019e54809a84d85e9fe (patch) | |
tree | f10652a47235a2e5b6d16886d51ed0f11dea160f | |
parent | bdd5a8c05ed1a92a4eb3056b4852df695d622285 (diff) | |
download | Nim-4e129324f61bfff97fafc019e54809a84d85e9fe.tar.gz |
Added example for var overloading
Simple example to demonstrate overloading in case technical lingo is confusing
-rw-r--r-- | doc/manual/type_rel.txt | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/doc/manual/type_rel.txt b/doc/manual/type_rel.txt index 5c8372e1e..97f7090b4 100644 --- a/doc/manual/type_rel.txt +++ b/doc/manual/type_rel.txt @@ -294,6 +294,21 @@ If the formal parameter ``f`` is of type ``var T`` in addition to the ordinary type checking, the argument is checked to be an `l-value`:idx:. ``var T`` matches better than just ``T`` then. +.. code-block:: nim + proc sayHi(x: int): string = + # matches a non-var int + result = $x + proc sayHi(x: var int): string = + # matches a var int + result = $(x + 10) + + proc sayHello(x: int) = + var m = x # a mutable version of x + echo sayHi(x) # matches the non-var version of sayHi + echo sayHi(m) # matches the var version of sayHi + + sayHello(3) # 3 + # 13 Automatic dereferencing ----------------------- |