cprintf()
cprintf(format, v1, ... , vn)
cprintf(style, format, v1, ... , vn)
R = cprintf(style, format, v1, ... , vn)
| Paramètre | Description |
|---|---|
| style | un nom de style, un vecteur RGB ou une couleur hexadecimale. |
| format | une chaine decrivant le format du texte. |
| v1, ... , vn | donnees a convertir et afficher selon le parametre format. |
| Paramètre | Description |
|---|---|
| R | nombre de caracteres visibles ecrits vers stdout. |
cprintf ecrit du texte formatte vers stdout et applique un style quand l'interface courante prend en charge l'affichage style. La CLI basique affiche du texte brut ; la CLI avancee et la GUI peuvent rendre les styles.
Sans argument de style, cprintf utilise du texte brut. Sans argument d'entree, la fonction affiche une courte demonstration.
Le parametre format suit les memes regles de formatage que fprintf.
Les styles nommes incluent text, keywords, comments, strings, unterminatedstrings, systemcommands, errors, hyperlinks, ainsi que des noms de couleurs courants comme black, blue, cyan, green, magenta, red, yellow, white, gray, orange, pink, purple, brown et gold.
Les noms acceptent les abreviations non ambigues. Les variantes claires et sombres utilisent les prefixes light et dark, par exemple lightblue ou dark-green.
Les couleurs RGB peuvent etre donnees par un vecteur de trois elements dans l'intervalle [0, 1] ou [0, 255]. Les couleurs hexadecimales acceptent #RGB ou #RRGGBB.
Un prefixe * demande le gras. Un prefixe _ ou - demande le souligne. Les prefixes peuvent etre combines dans les deux ordres, par exemple *_red ou _*#0af.
Limites : le rendu depend du terminal ou de l'interface graphique ; la CLI basique et les interfaces sans style affichent du texte brut. evalc capture seulement le texte visible. Les fichiers et le diary ne conservent pas le style. La sortie est toujours envoyee vers stdout, jamais vers stderr.
cprintf()
cprintf('value: %.3f\n', pi)
cprintf('red', 'red text\n')
cprintf('blue', 'blue text\n')
cprintf('cy', 'cyan from an unambiguous prefix\n')
cprintf('lightgreen', 'light green\n')
cprintf('dark-blue', 'dark blue\n')
cprintf([1 0.4 0], 'normalized RGB\n')
cprintf([0 128 255], 'byte RGB\n')
cprintf('#0af', 'short hex\n')
cprintf('#00aaff', 'long hex\n')
cprintf('*red', 'bold red\n')
cprintf('_green', 'underlined green\n')
cprintf('*_dark-magenta', 'bold underlined dark magenta\n')
msg = ['accent ', char(233)];
count = cprintf('comments', 'line 1\n%s\n', msg)
txt = evalc('cprintf(''red'', ''captured'')')
| Version | Description |
|---|---|
| 2.0.0 | version initiale |