Tcl: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Linha 31:
 
== Exemplos de código ==
=== Programa Olá Mundo ===
 
<source lang="tclTcl">
=== Hello World ===
<source lang="tcl">
#!/usr/bin/tclsh
 
Linha 40 ⟶ 39:
 
=== Commom Commands ===
<source lang="tclTcl">
#!/usr/bin/tclsh
proc foo { n } {
for {set x 0} {$x<$n} {incr x} {
puts -nonewline "$x."
}
}
foo 50
Linha 54 ⟶ 53:
O interpretador é fortemente baseado em interpretação de strings, por isso não seria possível, por exemplo, escrever:
 
<source lang="tclTcl">
proc bar { n }
{
puts $n
}
</source>
 
Pois o que diz ao interpretador que "vem mais" nas próximas linhas é justamente o "{" no fim da linha atual. O código acima devolveria um erro. Exemplos:
 
<source lang="tclTcl">
Exemplos:
set x 0 # cria uma variável chamada 'x' com valor 0.
 
expr $x * 2 # multiplica x por 2
<source lang="tcl">
for {set i 0} {i<50} {incr i} {
set x 0 # cria uma variável chamada 'x' com valor 0.
expr $x * 2 # multiplica x por 2
for {set i 0} {i<50} {incr i} {
# for estilo C
}
</source>
 
=== Números Perfeitosperfeitos ===
 
Este é um exemplo de um comando que imprime os 4 primeiros números perfeitos. Para usa-lo basta chama-lo com a quantidade de números perfeitos desejada. Ex: numsPerfeitos 5
 
<source lang="tclTcl">
console show
 
proc numsPerfeitos { n } {
set i 0
set maxNumPerfeito 0
set numPerfeito 0
set somaNum 0
 
while {$i < $n} {
incr numPerfeito
 
for {set j 1} {$j <= $numPerfeito} { incr j} {
if {$numPerfeito % $j == 0 } {
set somaNum [expr $somaNum + 1]
}
}
 
if {$somaNum == $numPerfeito} {
puts $numPerfeito
incr i
}
}
}
}