Напишите афоризм, используя правильный код [закрыто]


39

Можете ли вы написать афоризм не более чем в 4 строки кода?

Код должен читать как можно больше афоризма на простом английском языке и возвращать логическое значение true.

Язык: по выбору.

Критерии для принятого ответа: большинство голосов за 180 30 дней. (8 - е июля 2014)

Оригинальность: может быть старый афоризм, но творческий был бы гораздо более ценным.


1
Какова максимальная длина линии?
Кайл К

@kyle k, должно хватить 90 символов, в основном по эстетическим соображениям, читаемости, а также хорошие афоризмы, как правило, короткие :)
Эдуард Флоринеску

1
Рубин -!!"[ insert whatever aphorism you want here ]"
Дверная ручка

1
@DoorknobofSnow. Это был бы правильный ответ, но я сомневаюсь, что получу большую часть голосов.
Эдуард Флоринеску

1
Не уверен, что цитаты Шекспира квалифицируются как афоризмы.
Blazemonger

Ответы:


51

питон

import this
love = this
this is love, love is not True or False, love is love
# (True, True, True)

Хорошо, это возвращает кортеж Истины, но это все равно само оценивается как Истина.



20

C:

Вам придется немного щуриться, чтобы прочитать это :-)

int x(){ int __,L        ;
     return (__ |__ ||__ |__ ,__,__ ,__ ,__ ,__  ,
             __||  1||__ |  1L/L|__||__|1/__|  1L)
                                ;   }

Вы можете заметить потенциальную ошибку деления на ноль в строке 3, но она никогда не выполняется, потому что выражение оценивается так же, как и trueдо выполнения вычисления.


Лесной болван! +1
Эдуард Флоринеску

8
Не могли бы вы перевести, для тех из нас, кто не имеет необходимых навыков косоглазия?
Боб

@Bob Вы хотите разбить код на С или сделать более четкое представление об искусстве ASCII?
брезгливое оссифраж

О, код на C достаточно прост ( __это идентификатор, пара побитовых и логических OR и операторы запятых, которые все незначительны, потому что это все логическое OR с 1оценкой true). Это искусство ASCII, которое немного сложно прочитать.
Боб

3
@Bob Хорошо, вот что-то похожее. (Не верный код на C, но, я надеюсь, его легче читать.)
брезгливый оссифраж

19

Трудно избежать строковых литералов, комментариев и трюков для такого рода, но я старался держать их на минимальном уровне. Также первая строка не имеет смысла. Ну, я funделал это

F #

(fun () -> (fun (_) -> // fun fun? wtf
try not <| failwith("me") ; (*but*) with |Failure((*co*)me(*s*)) -> true)("learning"))()
// "Try not to fail with me, but with failure comes true learning

Я мог бы также сделать некоторое заявление о злоупотреблении, но в итоге я не нашел способа вернуть true:

let the,bodies,hit_the=floor(0.0),(),()

или

let the_games=bigint() //pun intended

Мне действительно нужно остановиться с каламбурами.


18

С

Нет строковых литералов или комментариев:

Better(to,re);main(silent){and();}be(thought,a,fool){}
than(to,open,your,mouth);and(){}remove(all,doubt);

Разделить на две строки, но одна будет работать хорошо.

При компиляции с использованием gcc в Linux (x86-64) получается исполняемый файл, который успешно завершается (код выхода 0), так же, как trueутилита Unix; это то, как я решил интерпретировать требование возврата логического значения trueна языке без сценариев.

Примечание: несмотря на злоупотребление правилом «implicit int», основной трюк этой программы заключается в том, что хотя программа на C, которая падает без конца mainбез returnоператора, обычно приводит к ненулевому коду выхода, вызывая другую функцию, которую мы можем установить EAXрегистр, который затем используется в качестве кода выхода программы. Это, конечно, совершенно неопределенное поведение и совершенно не переносимое.


17

питон

war=peace=freedom=slavery=ignorance=strength=0
war is peace|freedom is slavery|ignorance is strength

Power=a=means=it=an=end=0
Power is not (a, means, it is (an, end))

JavaScript

You=true;function BigBrother(){};BigBrother.isWatching=function(y){return y};
BigBrother.isWatching(You)

15

C #:

short life = 0;
return (life is short);

«Жизнь коротка» (Гиппократ)


3
Жаль, что нет буквальных спецификаторов для шорт! Это было бы здорово сделатьvar life = 0s;
Бен Райх

14

Рубин

class String
  def before(b) self < b end
end

Немного длинно, но дает нам несколько афоризмов:

"age".before("beauty")
"business".before("pleasure")
"pearls".before("swine")

И (слегка растягиваясь):

dont = []; y = 1
dont.count + y or ('chickens'.before('they hatch'))

1
+1: за y or.
wchargin





7

Афоризм о полных глаголах, в

Рубин

puts do
something idempotent but are considered to be unsafe
because if the value at the beginning of a chain of calls is one possibly the value at the
end != 1


4

Javascript

function be(who) {
   if (who == 'thine own self') {
      return true;
   }
}

Аппроксимация «чтобы твоя личность была правдой».

Я как бы не согласен с требованиями, поскольку он возвращает true только в одном конкретном случае ... но я надеюсь, что вы позволите ему скользить, потому что возвращаемое значение на самом деле является частью афоризма.


4

С

int main(int fear, int* computers){ int

    i; do { !fear; computers[i]; fear; "the lack of them";

} while();return true;}

Я не боюсь компьютеров, я боюсь их отсутствия.

Исаак Азимов


4

С

main(int I,char **think) {char *a="there"; for (;--I;) a['m'];}

1
Вы можете удалить типы в объявлениях. Также что-то должно быть сделано с объявлением a ... Это мешает, когда вы читаете
mniip

Я оставил их, потому что мой компилятор дал мне ошибки без них, поэтому я хотел быть очень приверженным: P
jmc

4

Я получил замечательную ошибку при попытке это:

Это очень вдохновлено ответом Даррена Стоуна.

TypeError: Нельзя использовать оператор «in» для поиска «tis nobler», чтобы перенести «Стропы и стрелы невероятного состояния».

Javascript

[2].be || ! [2].be ; this.is, "the question"

Возвращает неявную истину.

Чуть менее кратко, с вопросительным знаком:

[2].be || ! [2].be? is = this: !"the question"

3

PHP

$all = array('not well', 'not well', 'not well', 'well'); 
$end = array_pop($all);
$all = ($end == 'well') ? $end : 'not well';
return true;

"Все хорошо, что хорошо кончается."



3

PHP

Яблоко в день...

$aphorism = function(){
    for($day=1;$day<=365;$day++) $apple++;
    return ($apple==365) ? true : 'doctor';
};


3

Немного ленивый, но мой дубль.

Python:

life = short = True; art = long = True; life=art
life is short and art is long

JavaScript:

The = word = 'Yoga'
has = been = 'vulgarized'
and = does = not=  mean = anything =Date.now() ,!''
//Swami Rama 

3

Lua

-- all search is in vain
function search() end
-- only the void is true
function void() return function() return true end, true end
-- and what remains is to
for ever in void() do repeat search("light") until true end
return true



2

Просто-Базовый 84

Label 1;a random number between 0 and 1~should be stored in~A
If A is equal to 1 Then Display A End;Stop&Else,Go to label 1
:End; Otherwise destroy quantum transmitters internationally.
Since quantum transmitters are gone, power lost. KA-POW, yes?



2

Рубин

Не самое элегантное решение, но очень легко читаемое

def you_know_meaning(x) true end

!!!("aphorism" != "aphorism" unless you_know_meaning "aphorism")

=> true
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.