Programa para imprimir ele mesmo
Aqui uma tarefa de programação interessante.
Escrever o código que imprime ele mesmo.
Em Python é isso:
import sys
me = open(sys.argv[0])
for line in me:
print line,
me.close()
Em Shell Script por Xisberto:
cat $0
Em PHP por Paulo André:
$file = “teste.php”;
$fcontent = file_get_contents($file);
highlight_string($fcontent, false);
obs: O que eu quero não é o problema de Quine, mas sim um programa que abra seu código-fonte e o imprima. Eu uso isso para páginas feitas em Python onde eu quero que o usuário possa ver o código-fonte da aplicação facilmente.
Se você fizer em outra linguagem e colocar nos comentários, eu o coloco dentro desse post.
Aproveite e dê uma olhada nos melhores preços de espelhos para sua casa.
Buscapé.
Comments are closed.
about 13 years ago
Pelo desafio, pensei logo no Shell Script do Linux:
cat $0
É só isso. $0 é o caminho do programa/comando sendo executado e cat é o comando que escreve o conteúdo de um arquivo na tela.
about 13 years ago
PHP… =]
Criei o arquivo “teste.php”:
E ainda vem com as cores.. =P
about 13 years ago
Ops… não foi.. rs… Vou postar sem as tags PHP, ai é só acrescentar:
$file = “teste.php”;
$fcontent = file_get_contents($file);
highlight_string($fcontent, false);
about 13 years ago
Xisberto, nossa, impossível ficar menor.
só faltou ele descobrir qual o nome do seu próprio código.
Paulo André, wow, highlight e tudo? humilhou
about 13 years ago
Hahaa, olha só um SIMPLÉRRIMO em java,
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class EuMesmo{
private File f;
public EuMesmo() {
f = new File(“EuMesmo.java”);
}
public String getFile() throws IOException{
FileReader fr = new FileReader(f);
char[]c=new char[999];
int i = fr.read(c);
StringBuffer s = new StringBuffer();
s.append(c);
return s.toString();
}
public static void main(
String[]argumentos_que_realmente_poucos_javeiros_usam)
throws IOException{
System.out.println(new EuMesmo().getFile());
}
}
about 13 years ago
Cara, vc tá cada vez mais maluco.
about 13 years ago
Em python da pra fazer em duas linha ^^
___
import sys
print open(sys.argv[0]).read()
____
about 9 years ago
Your article was eexlclnet and erudite.
about 6 years ago
Having read this I believed it was very enlightening.
I appreciate you finding the time and effort to put this content together.
I once again find myself spending a significant amount of time
both reading and leaving comments. But so what, it was still worth it!
about 5 years ago
Very quickly this site will be famous among all blogging and site-building users,
due to it’s pleasant content
about 2 years ago
No habia vuelto a leer tu sitio web por un tiempo, porque me pareció que era aburrido, pero los últimos posts son de buena calidad, así que supongo que voy a añadirte a mi lista de blogs cotidiana. Te lo mereces amigo.
Saludos
dejar de fumar malaga http://stopaltabacomalaga.com/terapias/terapia-laser-dejar-de-fumar