?

Log in

No account? Create an account
kouzdra [entries|archive|friends|userinfo]
kouzdra

[ website | www.kouzdra.org ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Кстати - вот во всяких импортах [Jan. 5th, 2017|12:07 pm]
kouzdra
Из тифаретника и Дримвидха используется хак - количество комментов в посте показывается картинкой с цифрами (см. например), чтобы не патчить проэкспортированный текст, а просто подменять картинку на сайте-источнике.

Что понятное дело родство - при том что понятно что надо бы просто какой-то способ заинклудить в страницу html с другого url-а. Впроде бы ничего сложного.

Собственно тот же самый вопрос - почему в форматной строке С отсутствует имевшаяся тогда же в форматной строке системной библиотеки для RSX-11 функци %i - которая интерпретировала очередно аргумент как форматную же строку...

Вопрос потнятно риторический.
LinkReply

Comments:
[User Picture]From: rdia
2017-01-05 09:12 am (UTC)
Какие, однако, люди были непуганные.

Вы лучше объясните, почему в С++ синтаксис шаблонов такой дебильный.
(Reply) (Thread)
From: aso
2017-01-05 09:44 am (UTC)
Та лан, почти нормальный, ;))
Дабы отличать "обычные" параметры - от шаблонных, как я понимаю.
(Reply) (Parent) (Thread)
[User Picture]From: polytheme
2017-01-05 03:17 pm (UTC)
Вы имеете в виду конфликт с >> и вот это всё ?

Последствия "динамичного развития языка" (или legacy, другими словами) - есть ощущение, например, что когда изобретался изначальный синтаксис параметрических типов, Страуструп не только о template metaprogramming и compile-time Turing completeness не задумывался, но и о том, что параметрический тип внутрь другого вставить можно, не думал.

Понятно, что если бы с самого начала знать о том, что программирование на типах полезно и есть куча применений и норот оттуда не оттянешь за уши, надо было бы делать не lisp-mixed-with-assembler-style, а нормальный язык программирования (как сделали в D). Но это по ходу оказалось не баг, а фича, чуваки, сматрите, как можна, аказываица !, напоминающее хаки с Б3-34, поэтому жопа на самом деле даже не с синтаксисом, а с сообщением об ошибках из буста, который по сути есть дебаг-trace компилятора шаблонов на откровенно сверхчеловеческом языке.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: trilirium
2017-01-05 09:32 am (UTC)
> Собственно тот же самый вопрос - почему в форматной строке С отсутствует имевшаяся тогда же в форматной строке системной библиотеки для RSX-11 функци %i - которая интерпретировала очередно аргумент как форматную же строку...

Хмм. Если сам аргумент -- форматная строка, то откуда тогда брались аргументы к ней??
(Reply) (Thread)
From: aso
2017-01-05 09:43 am (UTC)
то откуда тогда брались аргументы к ней??

Следующие после неё.
Кстати, идея хорошая, хотя и неожиданная (для меня).
Есть же, вроде, какой-то форум по плюсам, куда можно закидывать предложения?
(Reply) (Parent) (Thread)
[User Picture]From: trilirium
2017-01-05 09:52 am (UTC)

Хмммм

То есть, что-то вроде:

printf ("%d (%i) %d", 11, "%s:%s", "aaa", "bbb", 22);


Должно вывести:

11 (aaa:bbb) 22


???
(Reply) (Parent) (Thread) (Expand)
Re: Хмммм - (Anonymous) Expand
Re: Хмммм - (Anonymous) Expand
[User Picture]From: kouzdra
2017-01-05 09:54 am (UTC)
Там кстати была еще одна дико удобная конструкция - "скобочки" %< ... %>, которые позволяли задать ширину и выравнивание для того что внутри них - хотя это я в каком-то из современных язычков видел.

Вроде мелочь - но при печати всяких форм, таблиц и бухгалтерии - очень удобно
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: oppositus
2017-01-05 09:42 am (UTC)
> надо бы просто какой-то способ заинклудить в страницу html с другого url-а.

И потом опять трубить по ВВС про Страшных Русских Хакеров! Отличный план!
(Reply) (Thread)
[User Picture]From: trilirium
2017-01-05 09:54 am (UTC)
надо бы просто какой-то способ заинклудить в страницу html с другого url-а

Вроде, такая Секретная Технология давно существует, и называется IFrame, нет? )))
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: Qulinxao Qulinxao
2017-01-05 10:32 am (UTC)

риторический ответ

что мы можем увидеть в: http://minnie.tuhs.org/cgi-bin/utree.pl?file=V2/lib/printf.c ?

printn(n,b) {
	extern putchar;
	auto a;

	if(a=n/b) /* assignment, not test for equality */
		printn(a, b); /* recursive */
	putchar(n%b + '0');
}

printf(fmt,x1,x2,x3,x4,x5,x6,x7,x8,x9)
	char fmt[];
	{
	extern printn, putchar;
	char s[];
	auto adx[], x, c;

	adx = &x1; /* argument pointer */
loop:
	while((c = *fmt++) != '%') {
		if(c == '\0')
			return;
		putchar(c);
	}
	x = *adx++;
	switch (c = *fmt++) {

	case 'd': /* decimal */
	case 'o': /* octal */
		if(x < 0) {
			x = -x;
			if(x<0) {  	/* is - infinity */
				if(c=='o')
					printf("100000");
				else
					printf("-32768");
				goto loop;
			}
			putchar('-');
		}
		printn(x, c=='o'?8:10);
		goto loop;

	case 'c': /* char */
		putchar(x);
		goto loop;

	case 's': /* string */
		s = x;
		while(c = *s++)
			putchar(c);
		goto loop;
	}
	putchar('%');
	fmt--;
	adx--;
	goto loop;
}


наряду с элегантностью и отсутствием какой либо безопасности , насколько просто патчит сей код в части добавления форматных опций и в том числе извлечения формата из очередного аргумента.

Edited at 2017-01-05 10:33 am (UTC)
(Reply) (Thread)
[User Picture]From: trilirium
2017-01-06 08:19 am (UTC)

Re: риторический ответ

То есть, %f и %e там еще не было и в проекте?? )))
(Reply) (Parent) (Thread)
From: anonim_legion
2017-01-05 12:42 pm (UTC)
>почему в форматной строке С отсутствует

Потому что иначе рано или поздно поверх этого сделали бы тьюринг-полный интерпретатор скриптов. И так у нас появился бы уродский printf-script, задолго до перла и яваскрипта.
(Reply) (Thread)
[User Picture]From: polytheme
2017-01-05 03:27 pm (UTC)
ну появился же template-script, и ничо, не жужжатъ !
(Reply) (Parent) (Thread)
From: (Anonymous)
2017-01-05 05:52 pm (UTC)
cpp скрипт, например, не появился. вот если там сходу хотя бы m4 был - ух, как бы зажили.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: slobin
2017-01-05 01:45 pm (UTC)
Опыт показывает, что не все в курсе даже printf("%*s", 10, "*"); А уж что в Алголе-68 умел $format$ вытворять -- это вообще песня.

... Глупое, злое и одноразовое ...

(Reply) (Thread)