Anonymous user
Pointers and references: Difference between revisions
Add Nimrod
m (→{{header|Perl}}: some rewording) |
(Add Nimrod) |
||
Line 649:
RETURN sum;
END Sum;</lang>
=={{header|Nimrod}}==
There are two types of pointers in Nimrod. Safe, garbage-collected references and unsafe pointers.
Create a safe reference:
<lang nimrod>type Foo = ref object
x, y: float
var f: Foo
new f</lang>
Accessing the reference:
<lang nimrod>echo f[]</lang>
When accessing values the dereference operator [] can be left out:
<lang nimrod>echo f[].x
f[].y = 12
echo f.y
f.x = 13.5</lang>
Create an (unsafe) pointer to an int variable:
<lang nimrod>var x = 3
var p = addr x</lang>
Access the integer variable through the pointer:
<lang nimrod>echo p[]
p[] = 42</lang>
Change the pointer to refer to another object:
<lang nimrod>var y = 12
p = addr y</lang>
Change the pointer to not point to any object:
<lang nimrod>p = nil</lang>
=={{header|OCaml}}==
|