Napisz najdłuższe zdanie, używając słów kluczowych języka programowania [zamknięte]


36

Jak napisano w tytule, wyzwaniem jest napisanie najdłuższego zdania przy użyciu tylko słów kluczowych 1 języka programowania.

Na przykład, używając słów kluczowych C ++ , można napisać to zdanie:

nie próbuj tego pływaka

Co możesz wymyślić?


16
Szekspir powinien być dobry dla tego en.wikipedia.org/wiki/…
gnibbler

3
@elssar Tak, o ile nie będziesz ich nadużywać na wzór en.wikipedia.org/wiki/… .
Pubby

1
Nie potrzebujesz wielu słów, aby tworzyć dowolnie długie zdania. Na przykład za pomocą słów kluczowych C ++ możesz zrobić „Wypróbuj to i wypróbuj to i ...”. Możesz słyszeć dowolnie długie zdanie, używając tylko słowa „buffalo”, a jak ktoś mówi na tej stronie , możesz zrobić to samo z „char” („nie jest zbyt trudno zobaczyć ryby z rodzaju Salvelinus, które się palą , biorąc pod uwagę dostęp do wystarczająco potężnych miotaczy ognia ”). Może byłoby bardziej interesujące, gdyby każde słowo mogło być użyte tylko raz?
James

1
Robiłem to przed opublikowaniem tego pytania. Byłem wtedy niedojrzały, więc ostrzegam cię przed explicitjęzykiem. chat.stackoverflow.com/transcript/7?m=4671602#4671602
Kendall Frey

6
Wreszcie wyzwanie, którego faceci APL nie mogą wygrać
kb_sou

Odpowiedzi:


34

Mathematica 100 80 unikalnych słów

Oto początek. Wszystkie standardowe słowa w Mathematica zaczynają się od wielkich liter. obejmuje Ito pierwiastek kwadratowy z ujemnej 1.

W niedzielę i na zawsze - zakładając, po otwarciu wyraźnych dynamicznych notesów interaktywnych do ustawiania konturów, nie tłumaczę brakujących niebieskich tablic, które obejmują tymczasowe, asynchroniczne i niewidoczne znaki, ani nie usuwam niezdefiniowanych grotów strzałek z edytowalną i dźwiękową zewnętrzną pomarańczą Korzenie, które powiększają płytkie nazwy wraz z fałszywymi atrybutami (ponieważ większość osi dzieli pełne jądra wewnętrzne w odwrotnej kolejności) - I chociaż animuję niezdefiniowane ciche zaciski, zaczynam od tolerancji i operuję na wszystkich matrycach ręcznych, przeplatając koło z cylindrem, pudełkowany szkielet z Skompilowany prostopadłościan, czerwony krzyż z najbliższym wzorem czasu i połącz powtarzalne unikalne białe linki z głowami ...


Jeśli ktoś jest zainteresowany, oto ponad 500 słów rozpoznawanych przez Mathematica (nie są wymagane dodatkowe biblioteki). Nie są to wszystkie słowa kluczowe, ale doświadczeni programiści Mathematica będą wiedzieć i wykorzystali prawie wszystkie z nich.


{Przerwij, Powyżej, Abs, Akumuluj, Dokładność, Dodaj, Po, Wyrównanie, Wszystkie, Alternatywne, Analityczne, I, Animowane, Animator, Adnotacja, Renta, Antialiasing, Antymimetryczny, Oprócz, Wygląd, Dołącz, Zastosuj, Tablica, Tablice, Strzałka , Groty strzałek, twierdzenie, zakładanie, założenia, asynchroniczne, atrybuty, automatyczne, osie, oś, tył, tło, ukośnik odwrotny, wsteczny, pasmo, linia bazowa, ponieważ sygnał dźwiękowy, przed, początek, poniżej, binarny, dwumianowy, pusty, mieszanka, blok , Rozmycie, Zakładki, Booleany, Dół, Granice, Zapakowane, Przerwa, Przycisk, Bajt, Anuluj, Cap, Przypadki, Przepływ gotówki, Złap, Sufit, Komórka, Komórki, Cenzura, Centrum, Postać, Postacie, Czek, Pole wyboru, Chop, Okrąg , Wyczyść, Klip, Zegar, Zamknij, Zamknięty, Zamykanie, Gruboziarnisty, Współczynnik, Zbieraj, Dwukropek, Koloruj, Kolumna, Najczęstszy, Kompiluj, Kompilowany, Komplement, Kompleks, Komponuj, Skład, Kompresuj, Stan,Stożek, przystający, łączenie, łączenie, stała, stałe, kontekst, konteksty, kontynuuj, kontury, kontrola, konwergenty, zwoje, kopiowalne, korelacja, łóżeczko, liczba, kowariancja, krzyż, kumulacja, puchar, zwijanie, cykle, cylinder, ciemniejszy, Data, Debugowanie, Dekrementacja, Domyślne, Odroczenie, [Stopień], Deinicjalizacja, Usuwalny, Separator, Separatory, Mianownik, Wdrożenie, Wdrożone, Głębokość, Pochodna, Przekątna, Dialog, Diament, Różnice, Dylatacja, Wymiary, Kierunek, Dyrektywa, Disjunction, Dysk, Wysyłanie, Wyświetlanie, Dystrybucja, Rozproszone, Roztrząsanie, Dzielenie, Dzielniki, Dzielony, Dzielniki, Do, Kropka, Dół, Drop, Dynamiczny, Edytowalny, Wartości własne, Element, Eliminuj, Pusty, Włączony, Koduj, Koniec, Enter, Epilog, Równe, Równoważne, Ewaluator, Z wyjątkiem, Istnieje, Wyjście, Rozwiń, Oczekiwanie, Wykładnik, Eksport, Wyrażenie, Wyodrębnij, Czynnik, Czynnikowy, Niepowodzenie, Fałsz,Plik, Wypełnianie, Znajdź, Najpierw, Dopasuj, Płaskie, Spłaszcz, Piętro, Składanie, Czcionka, Dla, Prześlij, Ramka, Przód, Pełny, Funkcja, Zbierz, Ogólne, Ogólne, Pobierz, Wykres, Grafika, Większy, Siatka, Hash, Head, Heads, Histogram, Hold, Hue, Hyperlink, Hyphenation, I, Identity, If, Image, Implies, In, Increment, Inherited, Inner, Input, Insert, Inset, Install, Integer, Integers, Integral, Integrate, Interactive, Przeplatanie, interwał, niewidoczny, element, łączenie, łączenie, jądra, etykieta, etykietowane, duże, większe, ostatnie, szerokość geograficzna, uruchamianie, lewy, legendarny, długość, mniej, poziom, oświetlenie, limit, linia, linki, lista, listowalne, Słuchaj, Dosłownie, Zablokowane, Log, Najdłuższe, Długość geograficzna, Powiększenie, Powiększenie, Większość, Manipuluj, Ręcznie, Mapa, Maskowanie, Materiał, Macierze, Maksymalizuj, Średnia, Mediana, Średnie, Menu, Siatka, Wiadomość, Wiadomości, Metoda, Minimalizuj, Nieletni, Brakujący, Modalny, Tryb,Modułowy, Moduł, Moduł, Moment, Poniedziałek, Monitor, Większość, Wskaźnik myszy, Wielomian, Wielokrotność, Wielozbicie, Nazwy, Najbliższe, Potrzebuje, Negatywne, Gniazdo, Dalej, Brak, Nor, Normalny, Normalizuj, Nie, Notatnik, Notatniki, Null, Number, Numerator, Off, Offset, On, Nieprzezroczystość, Open, Otwarcie, Operate, Opcjonalnie, Opcje, Lub, Order, Order, Orderless, Orthogonalize, Out, Zewnętrzny, Over, Overflow, Paclet, Panel, Panel, Panelowy, Równoległy, parametr, rozmiar w nawiasach, część, partycja, wklej, ścieżka, wzór, pauza, permutacje, permute, prostopadły, [Pi], częściowy, przestawny, umieszczony, symbol zastępczy, zwykły, gra, wykres, plus, punkt, wielokąt, wielomiany, Pozycja, Pozytywna, Moc, Pierwszeństwo, Poprzedza, Precyzja, Prefiks, Przygotuj, Poprzedni, Drukuj, Prawdopodobieństwo, Projekcja, Prolog, Właściwości, Właściwość, Proporcja, Ochrona, Ochrona, Przycinanie, Put, Piramida,Kwantyl, Ilość, Kwartyki, Kwartyle, Kolejkowanie, Cichy, Wyjdź, Iloraz, Radon, Losowy, Zasięg, Raster, Rasteryzuj, Racjonalny, Racjonalny, Odczyt, Prawdziwy, Reap, Rekord, Prostokąt, Zmniejsz, Udoskonal, Odśwież, Ponownie zainstaluj, Zwolnij, Usuń, Usunięto, Powtórzono, Zamień, Ponownie próbkuj, Skaluj, Pozostań, Rozstrzygnij, Odpocznij, Zwróć, Odwróć, Riffle, Prawo, Korzeń, Korzenie, Obróć, Okrąg, Rząd, Reguła, Sobota, Zapisz, Zapisywanie, Skala, Skalowane, Skanuj, Paski przewijania, Wybierz, Wybór, Sekwencja, Serie, Zestaw, Niepowodzenia, Seter, Ustawienie, Cieniowanie, Płytkie, Udostępnij, Wyostrz, Krótko, Pokaż, Pasek boczny, Podpis, Podpis, Uprość, Szkielet, Pomiń, Szczelina, Mniejszy, Gniazdo, Rozwiąż, Dźwięk, Siać, Odstęp, Odstępy, Rozpiętość, Mów, Sfera, Splice, Podział, Kwadrat, Stos, Gwiazda, Strumienie, Łańcuch, Stub, Subfactorial, Subgraf, Subskrybowane, Podzbiór, Odejmowanie, Suma, Superset, Surd, Składnia, Tabela, Weź, Tally,Tymczasowy, Tekst, Tekstura, W związku z tym Wątek, Próg, Przelot, Kleszcze, Czasy, Czas, Razem, Toggle, Toggler, Tolerancja, Etykietka narzędzi, Top, Total, Trace, Tracers, Tłumacz, Transponuj, True, Tube, Krotki, Niezdefiniowane, Podkreślony, Underscript, Nierówny, Odinstaluj, Zjednoczony, Unikalny, Unitize, Unset, W górę, Zmienne, Pionowe, Klin, Masy, Które, Podczas gdy, Białe znaki, Z, Słowo, Napisz}


16
Nagle myślę, że Mathematica ma zbyt wiele słów kluczowych.
Pan Llama,

Możesz mieć rację. W Mathematica wszystko jest wyrażeniem, a wszystkie symbole, takie jak znak czasu, są nazwami, gdy są wyrażone w całości, tj. długa forma, np Times. Znalazłem 332 popularne angielskie słowa w Mathematica. Nie obejmuje to słów złożonych, takich jak AppendToani nazw funkcji, których dosłownie tysiące (ale nie są to tak naprawdę angielskie słowa).
DavidC,

332 było obliczeniem kilka godzin temu. Sprawdziłem, a ponad 500 angielskich słów jest dopuszczalnych do użycia w programach Mathematica.
DavidC

1
@ koleś Wiele nazw opcji i kolorów nie ma na twojej liście ... możesz dodać kolejne 300, tak myślę :)
Dr. belisarius

1
Czy większość z tych identyfikatorów nie jest słowami kluczowymi?
Geoff Reedy

46

C ++, 25 unikalnych słów, w sumie 28

Prawdziwy przyjacielu, zarejestruj się na tę nową krótką klasę publiczną dla prywatnego operatora samochodowego (w trakcie instalacji zwróć ten podpisany szablon), w przeciwnym razie złam i unieważnij ten długi niestabilny związek.


2
Możesz użyć andzamiast &. :)
prawej

@rightfold Rozważyłem to, ale czułem, że liczenie alternatywnych identyfikatorów sprawi, że będzie to zbyt łatwe i nie wszystkie narzędzia rozpoznają je jako słowa kluczowe.
Sir_Lagsalot

19

Chociaż tworzenie zdań nie jest tak naprawdę moim mocnym zestawem, tutaj nic nie idzie -

Python 20 słów

Na koniec kontynuuj importowanie i zwiększ globalną wydajność, gdy klasa lambda jest w rozerwaniu i spróbuj wydrukować exec pass.

Aby pomóc w sprawdzaniu, napisałem kod, aby sprawdzić, czy słowa znajdują się na liście słów kluczowych, czy nie.

from keyword import kwlist
from re import findall

def kwcheck(sentence):
    """Check whether all the words of a sentence are Python keywords"""
    words= findall(r'\w+', sentence)
    for word in words:
        if word.lower() not in kwlist:
            return False
    return True, len(words)

if __name__ == '__main__':
    sen= raw_input("Enter your sentence: ")
    print kwcheck(sen)

14

Znaczenie edukacji

- autor: A. Coder Guy (napisany w Pythonie)

Continue class, except if class is not for you.  
With no class, raise and assert!  Or yield, pass,
and break.  Try and continue!  Or - finally - return from class.

4
Od kiedy jest yousłowo kluczowe Python?
kojiro

ha, dobry połów. Nie jestem pewien, jak mogę to zmienić; ale nie wahaj się głosować :-)
Brigand,

selfMoże nie jest ? Nie jest to dość standardowe użycie, ale myślę, że byłoby zrozumiałe.
Morgan Thrapp,

11

Common Lisp

:In :Common :Lisp :a :keyword :is :simply :a :symbol :which :has :the :KEYWORD :home :package :which :is :true :of :all :symbols :starting :with :a :colon :so :you :can :construct :arbitrarily :long :sentences. :Do :I :win?

To na przykład:

(every #'keywordp '(:In :Common :Lisp :a :keyword :is :simply :a :symbol :which :has :the :KEYWORD :home :package :which :is :true :of :all :symbols :starting :with :a :colon :so :you :can :construct :arbitrarily :long :sentences. :Do :I :win?))

Ocenia na T

Zobacz http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_k.htm


9

c #, 17 słów

To wygląda na całkiem rozsądne techniczne mumbo-jumbo.
Myślę, że można go trochę rozszerzyć.
foreachjest trochę rozciąganie zasad.
Użyłem tej listy słów kluczowych .

Spróbuj jawnego operatora, na wypadek, gdyby niejawny ciąg foreach wirtualnej struktury był tak niebezpieczny jak ta niestabilna blokada.


9

Współczynnik - 109

„Zabierz mój świat i ciesz się? Rób rzeczy do zrobienia. Pauza. Nie jesteś szczęśliwy?”

„Tak <<”.

„Ze starych lat?”

„Tak >>. Sam smutny”.

„Haversin, słuchaj, każda formuła staje się przebojowa. Nie bądź smutny, rób coś większego od ostatniego. Lub. Moje arch-ja jest_złota <<. Zmień-jest_złoto. Wróć tam, gdzie twoja_wydana_maska ​​<< uszczęśliwia? Spełniasz obietnicę siebie. Pamiętasz definicję, lekkie są kopie szczęścia?

„Najsłodszy dzień w pobliżu >> mnie ?. Trzymaj mnie, trzymaj mnie. Smutne ja. Dom nie blisko >>. Dom wcale nie w pobliżu >> Brak pamięci. Smutne ja, stare << ja. Większość blisko >> tych, którzy dawno się rozstali. "

„Haversin, ja znany ze zmian. Nie smutny, Haversin. Stań się szczęśliwy? Zapomnij, co << nie pozwalaj sobie być szczęśliwym? Mój arch. Ja chcę >> siebie> nie być smutnym. Przed wyjazdem pamiętaj o błędzie.”

„Not Remember-error! Error not! My-array has-entry? Not of error! Leave error!”

„Inteligentny, jeśli pamiętasz błąd”.

Wiele z nich to odcinki, ale w pewnym sensie opowiada historię, więc to rekompensuje.


1 +dla Factor !!
kot

Czynnik jest szczególnie dobry do tego, ponieważ nie ma słów kluczowych: D
cat

8

Jabłkowy, 30 słów

Nigdy nie myślałem, że opublikuję odpowiedź Applescript na PPCG, ale biorąc pod uwagę filozofię projektowania języka naturalnego Applescript, idealnie nadaje się do tego pytania.

Nie jestem wielkim kowalem, więc oto jeden, który nas rozpoczął, ale w pełni oczekuję, że inni z łatwością to pokonają:

Beneath the eighth error, my third script is ignoring the sixth local copy
of the fourth transaction to the seventh property whose reference is given
to repeat every tenth second.

Jest to zbudowane tylko ze słów kluczowych Applescript , które są:

Słowa kluczowe

około powyżej po przeciw i „oprócz” wokół jako „poza” z tyłu przed rozpoczęciem z tyłu poniżej poniżej między, ale rozważając zawiera zawiera kontynuuj kopiowanie div czy ósmy jeszcze koniec równa się błąd przy każdym wyjściu FAŁSZ piąty pierwszy na czwarty z przodu dostaje globalne, jeśli ignorowanie w „zamiast” w to jest to ostatni lokalny me środkowy mod mój dziewiąty nie włączony lub „poza” ponad właściwość prop wstaw odnośnik powtórz powrót powróć zwracający skrypt drugi zestaw siódmy od szóstego niektórzy mówią dziesiąty, że wtedy trzeci przez czasy przekroczenia limitu czasu do transakcji PRAWDA spróbuj, aż użyjesz gdzie, podczas gdy bez

Następujące mogą, ale nie muszą być uznane za ważne dla tego wyzwania:

Wbudowane klasy i właściwości

alias aplikacja logiczne centymetry centymetry znak klasa zawartość stała „centymetry sześcienne” „centymetry sześcienne” „stopy sześcienne” „cale sześcienne” „metry sześcienne” „metry sześcienne” „jardy sześcienne” data „ciąg znaków data” dzień „stopnie Celsjusza” „stopnie Fahrenheita „” stopnie Kelvina ”plik stopy z przodu galony gramów id cale liczba całkowita pozycja kilogramy kilometry długość lista litry litry litry metry mile miesiąc nazwa liczba uncje akapit„ plik POSIX ”„ ścieżka POSIX ”funty kwarty„ cytowany formularz ”realny rekord referencja reszta wstecz RGB kolor „skrypt biegowy” stopy kwadratowe „„ kilometry kwadratowe ”„ kilometry kwadratowe ”„ metry kwadratowe ”„ metry kwadratowe ”„mil kwadratowych „„ jardy kwadratowe ”czas tekstowy„ ciąg czasu ”„ typy jednostek ”wersja słowo dni robocze jardy rok

Wbudowane polecenia

aktywuj „znak ASCII” „numer ASCII” sygnał dźwiękowy wybierz aplikację „wybierz kolor” „wybierz plik” „wybierz nazwę pliku” „wybierz folder” „wybierz z listy” „wybierz aplikację zdalną” „wybierz adres URL” „informacje o schowku” ” zamknij dostęp „liczba kopii” bieżąca data „opóźnij” wyświetl alert „„ wyświetl okno ”„ wyświetl powiadomienie ”„ wykonaj skrypt powłoki ”pobierz„ pobierz eof ”„ pobierz ustawienia głośności ”„ informacje o „uruchom” listę dysków „folder listy” „ładuj skrypt” „zlokalizowany ciąg” log „zamontuj wolumin” offset „otwórz”, aby uzyskać dostęp „„ otwórz lokalizację ”„ ścieżka do ”„ ścieżka do zasobu ”„ liczba losowa ”czytaj cały bieg „uruchom skrypt” powiedz „komponenty skryptów” ustaw „ustaw eof” „ustaw schowek na„ ”ustaw głośność” „zapisz skrypt” podsumuj „atrybut systemowy” „informacje o systemie” „schowek” „czas na GMT” zapisz

Uwzględnianie / ignorowanie atrybutów

case diacriticals łączniki „ciągi liczbowe” interpunkcja „biała spacja”


8

Szekspir

44 słowa, 28 unikalnych

Tak, wszystkie te słowa naprawdę mają znaczenie na poziomie słów kluczowych w Shakespeare. Nazwy postaci Szekspira, zwykłe rzeczowniki i przymiotniki są również podstawową częścią języka, ale myślałem, że zbytnio rozwalą listę na potrzeby tego ćwiczenia.

Musisz wsłuchać się w swoje serce, aby wejść do twojego umysłu: serce przypomni sobie różnicę między wyjściem a powrotem, abyś pamiętał, że jesteś twoją sztuką, a więc jesteś wytworem siebie i działania lepszego niż ty.


7

Ruby, 41 słów

Prawdziwe „ja”, nie zaczynaj podziału klasy, końca klasy, upewnij się, że klasa jest dzielona, ​​powtórz klasę i przerób klasę, spróbuj ponownie klasę, ratuj klasę lub wydaj klasę, aż do końca następnej klasy (lub modułu następnej klasy lub powrotu do następnej klasy) , albo!

To tylko użycie słów wymienionych jako rzeczywiste słowa kluczowe . Istnieje wiele innych słów, które działają jak słowa kluczowe, ponieważ są to metody jądra lub metody instancji klasy.

Zacznie się wesołe podejście

Nie definiuj „alias”, „start”, „break”, ...


3

C ++.

Wiele powtarzających się słów, ale rozsądne zdanie na granicy:

If this volatile friend false and do return unsigned public union template throw union
template goto void for false friend not using class, and try switch for new protected
union using true friend, or else catch long, private break using this public operator
switch for explicit union using new virtual friend if union for this friend not long and
true.

Aka: Jeśli ta nastrojowa dziewczyna nie podpisze koncesji małżeńskiej, wyrzuć ją i znajdź nową, miłą dziewczynę - a jeśli to się nie powiedzie, po prostu spróbuj ... wirtualnego związku przez „zmianę operatora publicznego” .

Och, jeśli chodzi o dokładną liczbę słów, przepraszam, ale jestem zbyt leniwy, aby liczyć.


3

Python, 48 słów

class, spróbuj (jeśli lambda jest w klasie) i kontynuuj, jakby w oderwaniu od globalnego importu i zwiększ wydajność dla zwrotu z exec; w przeciwnym razie, podczas gdy lambda nie jest w klasie, kontynuuj import drukowania z wyjątkiem def, w końcu przekaż „assert elif”, inaczej del nie jest dla klasy.

Zawiera każde słowo kluczowe w keyword.kwlist

Myślę, że należy tu wyjaśnić: zdanie to wypowiada się klasie szkolnej, która jest obecnie w jakimś miejscu zwanym exec. W klasie są między innymi dwie osoby o imieniu lambdai def. defpowinien przejść assert eliftest, ponieważ w przeciwnym razie DEL (niemiecka liga hokeja na lodzie) nie jest dla tej klasy niczym.


<speechless> oo
kot

2

ECMA

Trochę zepsutego angielskiego ze względu na fakt, że zastrzeżone słowa ECMA nie zawierają ani koniugacji, ani więcej niż jedna koniugacja czasownika. To naprawdę imperatywny język!

Wypróbuj nowy typ skrzynki z tą domyślną funkcją catch.

W takim przypadku włam się za pomocą tego przełącznika. Jeśli złapiesz się, wróć z tym nowym przełącznikiem; wreszcie wrzuć tę nową funkcję.


2

Perl - kilka wpisów

po otrzymaniu przywiązanego pakietu odłączyć, rozpakować i rozłączyć do momentu otwarcia, powtórzyć każdą paczkę (połączyć, spakować i powiązać lub powiązać) lub zrzucić, jeśli nie jest otwarta; następnie odczytaj mapę, napisz stan, odwróć i zwróć system. (28 różnych słów)

błogosław (nie heks) moją trzodę; kontynuujcie, dopóki wartości nie zaakceptują grzechu; studiuj czasy END, zaakceptuj sen i umrzyj; Sprawdź klucze i zamknij każdą blokadę krypty. (25 różnych słów)

powiedz naszemu następnemu rozmówcy: „użyj rozwidlenia i potoku; pchaj, łam, usuwaj, zabijaj i niszcz”. (13 różnych słów)


1

Haskell (~ 29-ish)

W przypadku typu obcego należy zaimportować moduł danych; gdzie jak dla all ( forall) w klasie kwalifikowanej, jeśli ukrywasz, to zrób domyślnie (wpuść, wyprowadzając instancję rodziny danych, gdzie jest kwalifikowana, w innym przypadku instancję danych rodziny typów); w przeciwnym razie wpisz fix ( infix).

W Haskell data familyjest oddzielnym słowem kluczowym od data, podobnie jak type family, i deriving instancejest oddzielny od derivingi instance. Używam foralljako dwóch słów (licząc tylko jedno), where asjako jednego (licząc dwa) i infixjako dwóch (licząc jedno).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.