Difference between revisions of "Tentativo"

From Sistemi Operativi
Jump to navigation Jump to search
m
m
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 +
=== tentativi errati di Quine. ===
 +
 +
Questo programma leggono il proprio sorgente!
 +
così sono capaci tutti!
 +
 
<syntaxhighlight lang="c">
 
<syntaxhighlight lang="c">
 
/* funziona solo se il nome del programma e' quello in fopen */
 
/* funziona solo se il nome del programma e' quello in fopen */
Line 13: Line 18:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
Questo invece stampa il proprio parametro, non il proprio sorgente!
 +
 +
* [Python v3.3.2] Credo che la [https://github.com/tomOgn/University/blob/master/OS-Python/ShortestQuine/print(__file__) soluzione piu' compatta] sia questa:<br>
 +
*; source code : print(__file__)
 +
*; filename : print(__file__)
 +
*; command line : python "print(__file__)"<br>
 +
** L'istruzione visualizza sul terminale il nome del file sorgente. Il nome del file sorgente coincide con l'istruzione.

Latest revision as of 08:44, 1 November 2013

tentativi errati di Quine.

Questo programma leggono il proprio sorgente! così sono capaci tutti!

/* funziona solo se il nome del programma e' quello in fopen */
#include <stdio.h>
int main(void){
	char c;
	FILE *f;
	if (f=fopen("questo.c", "r")){
		while ((c=getc(f))!=EOF)
			printf("%c", c);
		fclose(f);
	}
	return  0;
}

Questo invece stampa il proprio parametro, non il proprio sorgente!

  • [Python v3.3.2] Credo che la soluzione piu' compatta sia questa:
    source code
    print(__file__)
    filename
    print(__file__)
    command line
    python "print(__file__)"
    • L'istruzione visualizza sul terminale il nome del file sorgente. Il nome del file sorgente coincide con l'istruzione.