mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-30 18:02:05 +00:00
Added example for var overloading
Simple example to demonstrate overloading in case technical lingo is confusing
This commit is contained in:
@@ -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
|
||||
-----------------------
|
||||
|
||||
Reference in New Issue
Block a user