Di recente ho visto alcune domande su SO che mi chiedevano se fosse possibile creare un programma Hello World senza usare punti e virgola usando C #. La sfida è farlo di nuovo, ma nella più breve quantità possibile di codice!
Di recente ho visto alcune domande su SO che mi chiedevano se fosse possibile creare un programma Hello World senza usare punti e virgola usando C #. La sfida è farlo di nuovo, ma nella più breve quantità possibile di codice!
Risposte:
class M{static void Main(){if(typeof(System.Console).GetMethods()[78].Invoke(null,new[]{"Hello, world!"})is M){}}}
Si noti che l'indice corretto per Write(string)
/ WriteLine(string)
potrebbe essere diverso nel sistema in uso. Tuttavia, poiché ci sono solo 106 metodi in totale, ne sono quasi certo Write(string)
o WriteLine(string)
sarà un numero indice di due cifre su ogni sistema, quindi il conteggio dei caratteri dovrebbe essere generalmente valido.
Demo: http://ideone.com/5npky (il Write
metodo è apparentemente indice 23 qui)
null
in 0
. Ottieni un bel conteggio dei personaggi di 111 :)
Un po 'un trucco, ma funziona se hai installato IronRuby:
class P{static void Main(){if(IronRuby.Ruby.CreateEngine().Execute("puts'Hello World'")>1){}}}
==
con un operatore di confronto di un carattere.
puts
e la stringa. puts'Hello World'
è un codice rubino valido
'Hello World'
è un programma GolfScript valido che stampaHello World
. Anche se HQ9 + lo batterà facilmente.)