# This is a comment line
define area (in1) { # this is a comment in a statement
* $in1 $in1
}
define areaRectangulo (comprimento) {
lambda (largura) { * $comprimento $largura }
}
if $true {
define + (a b) { - $a $b }
echo "Com o + redefinido"
echo [+ 3 2]
}
echo "Sem o mais redefinido" # com um comentario
echo [+ 3 2]
define str1 "Ola"
define str2 " Mario"
echo "\nA linha seguinte resulta de uma concatenacao de duas strings 'ola' e ' Mario'"
echo [str-cat $str1 $str2]
echo [str-cat "\n" [str-cat "a area do quadrado com 4 de lado e: " [int->string [area 4]]]]
define rect4 [areaRectangulo 4]
define rect6 [areaRectangulo 6]
echo [str-cat "\nE agora um bocadinho de de closures:\n A area do rectangulo com um comprimento de 4 e largura de 6 " [int->string [rect4 6]]]
echo [str-cat "\nE agora um bocadinho de de closures:\n A area do rectangulo com um comprimento de 6 e largura de 6 " [int->string [rect6 6]]]
class Triangulo (
_altura
_base
)
method Triangulo getArea () {
/ [* $_altura $_base] 2
}
method Triangulo constructor ( a b ) {
set! _altura $a
set! _base $b
}
method Triangulo setDimensoes ( a b ) {
set! _altura $a
set! _base $b
}
define tri1 [new Triangulo 2 2]
echo "\nTeste de uma classe:\nUm triangulo com 2 de base e 2 de altura tem " [$tri1 getArea] " de area"
$tri1 setDimensoes 1 2
echo " E agora area do triangulo com 1 de altura e 2 de base: " [$tri1 getArea]