Polymorphism: Difference between revisions

Added Arturo implementation
m (→‎{{header|Phix}}: added syntax colouring the hard way)
(Added Arturo implementation)
Line 439:
Circle(+4.10000000000000e +0 @ +0.00000000000000e +0,+0.00000000000000e +0)
</pre>
 
=={{header|Arturo}}==
 
<lang rebol>define :point [x,y][
init: [
ensure -> is? :floating this\x
ensure -> is? :floating this\y
]
 
print: [
render "point (x: |this\x|, y: |this\y|)"
]
]
 
define :circle [center,radius][
init: [
ensure -> is? :point this\center
ensure -> is? :floating this\radius
]
print: [
render "circle (center: |this\center|, radius: |this\radius|)"
]
]
 
p: to :point [10.0, 20.0]
c: to :circle @[p, 10.0]
 
inspect p
inspect c
 
print p
print c</lang>
 
{{out}}
 
<pre>[ :point
x : 10.0 :floating
y : 20.0 :floating
]
[ :circle
center : [ :point
x : 10.0 :floating
y : 20.0 :floating
]
radius : 10.0 :floating
]
point (x: 10.0, y: 20.0)
circle (center: point (x: 10.0, y: 20.0), radius: 10.0)</pre>
 
=={{header|AutoHotkey}}==
1,532

edits