смешное обобщение
Jul. 11th, 2014 08:51 amВ питоне:
выводит:
То же самое в перле и FreeBSD libc.
Но glibc выводит простой процент без расширения поля (две строки с |%|), gcc ругается, что формат неправильный, причём он в принципе не опознаёт такую возможность:
а C99 и Posix хором говорят "The complete conversion specification shall be %% ."
print '|%10%|' % ()
print '|%-10%|' % ()
выводит:
| %|
|% |
То же самое в перле и FreeBSD libc.
Но glibc выводит простой процент без расширения поля (две строки с |%|), gcc ругается, что формат неправильный, причём он в принципе не опознаёт такую возможность:
t.c:5: warning: conversion lacks type at end of format
t.c:5: warning: unknown conversion type character '|' in format
t.c:6: warning: conversion lacks type at end of format
t.c:6: warning: unknown conversion type character '|' in format
а C99 и Posix хором говорят "The complete conversion specification shall be %% ."
no subject
Date: 2014-07-11 11:28 am (UTC)Лично я всегда воспринимал "%%" как экранирование, и так и реализовывал бы (т.е. как в glibc). А теперь уже не удивлюсь, если, например, $$ в make окажется встроенной readonly-переменной со значением "$". Даже проверил - нет, всё-таки ${$} не работает. :)