Как все начиналось
2013-01-19 00:00Угадайте, что за код. Эту функцию наверняка знают все без исключения современные программисты.
( Полностью )
( Полностью )
AND writef(format, a, b, c, d, e, f, g, h, i, j, k) BE
$(
LET t = @a
FOR p = 1 TO getbyte(format, 0) DO $(
LET k = getbyte(format, p)
TEST k='%' THEN $(
LET f, q, n = 0, t!0, 0
AND type = getbyte(format, p+1)
p := p + 1
SWITCHON type INTO $(
DEFAULT: wrch(type); ENDCASE
CASE 'S': f := writes; GOTO L
CASE 'C': f := wrch; GOTO L
CASE 'O': f := writeoct; GOTO M
CASE 'X': f := writehex; GOTO M
CASE 'I': f := writed; GOTO M
CASE 'N': f := writed; GOTO L
M: p := p + 1
n := getbyte(format, p)
n := '0'<=n<='9' -> n-'0', n-'A'+10
L: f(q, n); t := t + 1
$)
$) OR
wrch(k)
$)
$)