Recentemente, vi algumas perguntas no SO que perguntavam se você poderia criar um programa Hello World sem usar ponto e vírgula usando C #. O desafio é fazer isso novamente, mas com a menor quantidade de código possível!
Recentemente, vi algumas perguntas no SO que perguntavam se você poderia criar um programa Hello World sem usar ponto e vírgula usando C #. O desafio é fazer isso novamente, mas com a menor quantidade de código possível!
Respostas:
class M{static void Main(){if(typeof(System.Console).GetMethods()[78].Invoke(null,new[]{"Hello, world!"})is M){}}}
Observe que o índice adequado para Write(string)
/ WriteLine(string)
pode ser diferente no seu sistema. No entanto, como existem apenas 106 métodos no total, tenho quase certeza Write(string)
ou WriteLine(string)
haverá um número de índice de dois dígitos em todos os sistemas, portanto a contagem de caracteres deve ser geralmente válida.
Demonstração: http://ideone.com/5npky (o Write
método aparentemente é o índice 23 aqui)
null
para 0
. Obter uma contagem de caracteres agradável de 111 :)
Um pouco de trapaça, mas funciona se você tiver o IronRuby instalado:
class P{static void Main(){if(IronRuby.Ruby.CreateEngine().Execute("puts'Hello World'")>1){}}}
==
por um operador de comparação de um caractere.
puts
e a corda. puts'Hello World'
é código Ruby válido
'Hello World'
é um programa GolfScript válido que imprimeHello World
Embora. HQ9 + será fácil vencê-lo.)