Нещодавно я побачив кілька запитань на SO, які запитували, чи можна зробити програму Hello World без використання напівколонок за допомогою C #. Завдання полягає в тому, щоб зробити це знову, але в найкоротшій кількості можливого коду!
Нещодавно я побачив кілька запитань на SO, які запитували, чи можна зробити програму Hello World без використання напівколонок за допомогою C #. Завдання полягає в тому, щоб зробити це знову, але в найкоротшій кількості можливого коду!
Відповіді:
class M{static void Main(){if(typeof(System.Console).GetMethods()[78].Invoke(null,new[]{"Hello, world!"})is M){}}}
Зауважте, що відповідний індекс для Write(string)
/ WriteLine(string)
може бути різним у вашій системі. Однак, оскільки всього 106 методів, я майже впевнений, Write(string)
або WriteLine(string)
це буде двозначне число індексу в кожній системі, тому кількість символів має бути загальновизнаною.
Демонстрація: http://ideone.com/5npky ( Write
метод, очевидно, індекс 23 тут)
null
на 0
. Отримайте приємну кількість персонажів 111 :)
Трохи обман, але працює, якщо у вас встановлений IronRuby:
class P{static void Main(){if(IronRuby.Ruby.CreateEngine().Execute("puts'Hello World'")>1){}}}
==
оператора порівняння з одним символом.
puts
і рядком. puts'Hello World'
дійсний код рубіну
'Hello World'
це дійсна програма GolfScript, яка друкуєHello World
. Хоча HQ9 + легко переможе її.)