Jump to content

Tcl

E Vicipaedia
-3 (maximum dubium) Latinitas huius rei maxime dubia est. Corrige si potes. Vide {{latinitas}}.

Tcl (lege: Ticel) codex programmandi computatorii est. Tcl est abbreviatio pro nomine (anglice) "Tool command language" (latine: lingua mandandi instrumentorum).Est lingua simplicissima et fortissima, in qua "omnia sunt catenae litterarum", et est fonte aperta (open source). Litterae Unicodicis utentur, sic potest scribere Graece, Arabice et aliis linguis multis.

Tcl in systemis internis Macintosh (Apple computatoriis), Unix, Linux et Windows utitur.

Ecce simplex exemplum scripti (anglice: script) Tcl:

puts "dona numerum"
gets stdin numerus
puts "Quadratum est: [expr $numerus*$numerus]"

Scriptum est compositum iussorum. Iussa sunt composita verborum, separata spatiis. Iussi primum verbum est nomen iussi (exempli gratia, "puts", "gets", "expr").

Altra exempla:

Collatio numerorum romanorum :

proc roman:sort list {
   set map {IX VIIII L Y XC YXXXX C Z D {\^} ZM {\^ZZZZ} M _}
   foreach {from to} $map {
       regsub -all $from $list $to list
   }
   set list [lsort $list]
   foreach {from to} [lrevert $map] {
       regsub -all $from $list $to list
   }
   set list
}
% roman:sort {X IX V VI III}
III V VI IX X

Conversio numerorum arabicorum romane:

proc roman:numeral {i} {
   set res ""
   foreach {value roman} {
        1000 M 900 CM 500 D 400 CD 100 C 90 XC 50 L 40 XL 10 
        X 9 IX 5 V 4 IV 1 I} {
      while {$i>=$value} {
         append res $roman
         incr i -$value
      }
    }
    set res
}
% roman:numeral 1789
MDCCLXXXIX

Conversio numerorum romanorum arabice:

proc roman:get {s} {
       array set r_v {M 1000 D 500 C 100 L 50 X 10 V 5 I 1}
       set last 99999; set res 0
       foreach i [split [string toupper $s] ""] {
         if [catch {set val $r_v($i)}] {
             error "$i non est numerus romanus in $s"
         }
         incr res $val
         if {$val>$last} {incr res [expr -2*$last]}
         set last $val
       }
       set res
} 
% roman:get MDCCLXXXIX
1789

Nexus interni

Nexus externi

[recensere | fontem recensere]