Programa Hello World mais curto, sem ponto e vírgula
14
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!
Presumo que isso seja um desafio específico ao idioma? Caso contrário, há muitos idiomas em que essa tarefa seria trivial. (Por exemplo, 'Hello World'é um programa GolfScript válido que imprime Hello WorldEmbora. HQ9 + será fácil vencê-lo.)
Ilmari Karonen
@llmari Desculpe, sim, eu atualizei a pergunta. Eu o teria marcado em C #, mas ele não existe e não tenho o representante para criá-lo, obrigado.
Bali C
Respostas:
12
C #, 76
class X{static void Main(){if(System.Console.Write("Hello, World!")is X){}}}
Eu tentei isso no meu VS2012 e funciona muito bem, mesmo que seja uma surpresa poder aplicar o isoperador ao void...
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.
'Hello World'
é um programa GolfScript válido que imprimeHello World
Embora. HQ9 + será fácil vencê-lo.)Respostas:
C #, 76
Eu tentei isso no meu VS2012 e funciona muito bem, mesmo que seja uma surpresa poder aplicar o
is
operador aovoid
...fonte
Caracteres C # 85
fonte
C # (114)
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 certezaWrite(string)
ouWriteLine(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)fonte
null
para0
. Obter uma contagem de caracteres agradável de 111 :)115 bytes
Provavelmente é possível produzir algo um pouco mais curto, mas tenho certeza de que você precisará fazer algum tipo de chamada assíncrona.
fonte
C #
969594 caracteresUm pouco de trapaça, mas funciona se você tiver o IronRuby instalado:
fonte
==
por um operador de comparação de um caractere.puts
e a corda.puts'Hello World'
é código Ruby válido