Un uniligne est un programme très compact s'écrivant en une seule ligne [1].
En voici un florilège :
Avec Tcl
- Ouverture, lecture et fermeture d'un fichier
set data [read [set f [open $fichier]]][close $f]
- Test si une variable contient une liste
proc islist l {expr ![catch {llength $l}]}- Test si un mot est un palindrome
proc ispalindrome s {expr {$s eq [string reverse $s]}}- Test si une chaîne est numérique
proc isnumeric s {return [regexp {^[+-]?\d*\.?\d+$} $s]}- La suite de Fibonacci
proc fib n {expr {$n < 2 ? $n : [fib [expr {$n - 1}]] + [fib [expr {$n - 2}]]}}
proc fib n {expr {int(([set phi [expr {(1+5**0.5)/2}]]**$n - (1-$phi)**$n)/5**0.5)}}- Factorielle
proc ! n {expr {$n<2? 1: $n*[! [incr n -1]]}}- Test si un nombre est premier
proc isprime n {expr {$n>1 && ![regexp {^(oo+?)\1+$} [string repeat o $n]]}}- Test si un nombre entier est une puissance de deux
proc ispoweroftwo n {return [expr {$n > 0 && ($n & ($n - 1)) == 0}]}- Test si un nombre est paire
proc even n {expr {$n & 1 ? 0:1}}
proc even n {expr {($n % 2) == 0}}- Pi
proc pi {} {expr {atan(1) * 4}}
proc pi {} {expr {acos(-1)}}- Moyenne d'une liste
proc moyenne l {expr ([join $l +])/[llength $l].}- Retourne une liste d'entier compris entre n1 et n2
proc listint {n1 n2} {subst "$n1[string repeat {[incr n1]} [incr n2 -$n1]]"}- Signe de x
proc sgn x {expr {($x>0) - ($x<0)}}Avec Tk
- Un bouton
pack [button .b -text Bonjour -command exit]