Bir programlama dilinin anahtar kelimelerini kullanarak en uzun cümleyi yaz [kapalı]


36

Başlığın dediği gibi, en uzun cümleyi sadece 1 programlama dili anahtar kelimelerini kullanarak yazmaktır.

Örneğin , C ++ anahtar kelimelerini kullanarak bu cümleyi yazmanız mümkündür:

bu yüzmeyi denemeyin

Ne bulabilirsin?


16
Shakespeare bunun için iyi olmalı en.wikipedia.org/wiki/…
gnibbler

3
@elssar Evet, onları en.wikipedia.org/wiki/… . çizgileri boyunca kötüye kullanmadığınız sürece .
Pubby

1
İsteğe bağlı olarak uzun cümleler kurmak için çok fazla kelimeye ihtiyacınız yok. Örneğin, C ++ anahtar kelimelerle "Bunu dene ve bunu dene ..." işlemini yapabilirsiniz. Sadece "buffalo" kelimesini kullanarak keyfi olarak keyfi bir şekilde uzun bir cümle kurabilirsiniz ve bu sayfada birisinin dediği gibi "char" ile aynı şeyi yapabilirsiniz. , yeterince güçlü alev makinelerine erişim izni "". Belki her bir kelime sadece bir kez kullanılabilseydi daha ilginç olurdu?
James

1
Bu soru gönderilmeden önce bunu yapıyordum. O zamanlar çok olgun değildim, o yüzden sizi explicitdil konusunda uyaracağım . chat.stackoverflow.com/transcript/7?m=4671602#4671602
Kendall Frey

6
Nihayet APL adamlarının kazanamayacağı bir meydan okuma
kb_sou

Yanıtlar:


34

Mathematica 100 80 benzersiz kelimeler

İşte bir başlangıç. Mathematica'daki tüm standart kelimeler büyük harfle başlar. buna Inegatif 1'in karekökü de dahildir .

Pazar ve Her Zaman İçin - Kontürleri Ayarlamak İçin Net Dinamik İnteraktif Dizüstü Bilgisayarlar Açmak Üzerine, Geçici, Asenkron ve Görünmez Karakterleri Yayımlayan Eksik Mavi Dizileri Çevirmiyorum, Düzenlenebilir Ve Sesli Dış Tanımsız Ok Uçlarını Çıkarmıyorum Sığ Adları Yanlış Niteliklerle Birlikte Büyüten Kökler (Çoğu Eksen Ters Sırayla Tam İç Çekirdekleri Böldüğü İçin) - Ve Tanımsız Sessiz Keneler İçinde Animasyon Yaparken, Toleransla Başlıyorum Ve Tüm Manuel Matrislerde Çalışıyorum, Silindirli, Kutulu İskeletle Derlenmiş Cuboid, En Yakın Zamanlama Desenine Sahip Kızıl Haç Ve Tekrarlanan Eşsiz Beyaz Bağlantılara Başlar ...


Herhangi biri ilgileniyorsa, burada Mathematica tarafından tanınan 500+ kelime var (ek kütüphaneye gerek yok). Hepsi anahtar kelimeler değildir, ancak deneyimli Mathematica programcıları bunların hepsini bilecek ve kullanacaklardır.


{İptal, Üstü, Abs, Biriktirme, Doğruluk, Ekle, Sonrası, Hizalama, Tümü, Alternatifler, Analitik, Ve, Animasyon, Animatör, Açıklama, Anuity, Antialiasing, Antisimetrik, Ayrı, Görünüm, Eklemek, Uygula, Dizi, Diziler, Ok , Ok Başları, Assert, Varsayım, Varsayımlar, Asenkron, Nitelikler, Otomatik, Eksen, Eksen, Geri, Arka Plan, Ters Eğik Çizgi, Geriye Doğru, Bant, Taban Çizgisi, Çünkü, Bip, Önce, Başlama, Altında, İkili, Binom, Boş, Karışım, Blok , Bulanıklaştırma, Yer İmleri, Boolean'lar, Alt, Sınırlar, Kutulu, Ara, Düğme, Bayt, İptal, Kapak, Durumlarda, Nakit Akışı, Yakalama, Tavan, Hücre, Hücreler, Sansür, Merkez, Karakter, Karakterler, Onay, Onay Kutusu, Doğrama, Daire Temizle, Klip, Saat, Kapat, Kapalı, Kapanış, Kaba, Katsayı, Topla, Kolon, Renklendir, Sütun, En Yaygın, Derleme, Derlenmiş, Derlemek, Kompleks, Kompozisyon, Kompozisyon, Sıkıştır, Durum,Koni, Kongruent, Bağlaç, Bağlan, Sabit, Sabitler, Bağlam, Bağlam, Bağlamlar, Devam, Kontür, Kontrol, Yakınsaklar, Kıvrımlı, Kopyalanabilir, Korelasyon, Yatağı, Say, Kovaryans, Çapraz, Biriktirici, Kupa, Kıvrılma, Döngüleri, Silindir, Daha Koyu, Tarih, Hata Ayıklama, Düşüş, Varsayılan, Erteleme, [Derece], Yeniden Başlatma, Silinebilir, Ayırıcı, Ayırıcılar, Payda, Dağıtma, Dağıtılmış, Derinlik, Türev, Diyagonal, Diyalog, Elmas, Farklar, Uzatma, Boyutlar, Yön, Yön, Ayrılma, Disk, Gönderme, Gösterme, Dağıtma, Dağıtma, Dağıtma, Bölme, Bölme, Bölücüler, Bölünebilir, Bölücüler, Yap, Nokta, Aşağı, Bırak, Dinamik, Düzenlenebilir, Özdeğerler, Öğe, Ortadan Kaldır, Boş, Etkin, Kodla, Son, Gir, Epilog, Eşit, Eşdeğer, Değerlendirici, Hariç, Var, Çıkış, Genişlet, Beklenti, Üs, İhracat, İfade, Özü, Faktör, Faktör, Başarısız, Yanlış,Dosya, Dolgu, Bulmak, İlk, Uygun, Düz, Düzlemek, Döşeme, Kat, Fold, Yazı Tipi, For For, For, Çerçeve, Ön, Tam, Fonksiyon, Topla, Genel, Genel, Genel, Get, Grafik, Grafik, Greater, Grid, Hash, Kafa, Kafalar, Histogram, Beklet, Hue, Köprü, Heceleme, I, Kimlik, Görüntü, İfade Ediyorsa, Arttırıyor, Arttırıyor, Miras Alınıyor, İçini Giriyor, Girdi, Ekle, Eklemek, Kurmak, Tamsayı, Tam Sayı, Entegre, Entegre, Etkileşimli, Serpiştirme, Aralık, Görünmez, Öğe, Katıl, Katıldı, Çekirdekleri, Etiket, Etiketli, Büyük, Daha Büyük, Son, Enlem, Başlat, Sola, Yaygın, Uzunluk, Az, Seviye, Aydınlatma, Sınır, Çizgi, Bağlantılar, Liste, Kiralanabilir, Dinle, Edebi, Kilitli, Günlük, En Uzun, Boylam, Büyütme, Büyütme, Çoğunluk, Manipüle, Manuel, Harita, Maskeleme, Malzeme, Matrisler, Büyüt, Ortalama, Orta, Orta, Menü, Ağ, Mesaj, Mesajlar, Yöntem, Küçült, Küçükler, Kayıp, Modal, Mod,Modüler, Modül, Modül, Moment, Pazartesi, Monitör, En, Mouseover, Multinomial, Çokluk, Çoklu Seçim, Adlar, En Yakın, İhtiyaçlar, Negatif, Yuva, Sıradaki, Yok, Norm, Normal, Normalize, Not, Not Defteri, Notebook, Boş, Sayı, Numaratör, Kapalı, Ofset, Açık, Opaklık, Açık, Açma, Çalıştırma, İsteğe Bağlı, Seçenekler, Veya, Sipariş, Sipariş, Siparişsiz, Ortogonalize, Dışarı, Dış, Üzerine, Taşma, Kanat, Bölme, Panel, Panelle, Paralelleştir, Parametre, Parantez, Kısmi, Bölme, Yapıştır, Yol, Model, Duraklat, Permütasyonlar, İzin, Dikey, [Pi], Parçalı, Döndürme, Yerleştirildi, Yer Tutucu, Düz, Oynat, Grafik, Artı, Nokta, Çokgen, Polinomlar, Konum, Pozitif, Güç, Öncelik, Öncelik, Hassas, Önek, Önceden, Bağımlı, Önceki, Baskı, Olasılık, Projeksiyon, Prolog, Özellikler, Mülkiyet, Orantı, Koru, Korumalı, Budama, Koymak, Piramit,Quantile, Quantity, Quartics, Quartiles, Queuing, Sessiz, Quit, Quotient, Radon, Rastgele, Menzil, Raster, Rasterleştir, Rasyonel, Rasyonel, Oku, Gerçek, Reap, Kayıt, Dikdörtgen, Azalt, Düzelt, Yenile, Yeniden Yükle, Bırak, Kaldır, Kaldırıldı, Tekrarlandı, Değiştir, Yeniden Örnekleme, Yeniden Ölçeklendirme, Kaldırma, Kaldırma, Çözme, Dinlenme, Geri Dönme, Ters, Riffle, Sağ, Kök, Kökler, Döndürme, Yuvarlak, Satır, Kural, Cumartesi, Kaydet, Kaydedilebilir, Ölçek, Ölçeklendirilmiş, Tarama, Kaydırma çubukları, Seç, Seçim, Sıra, Seriler, Ayarla, Gerileme, Ayarlayıcı, Ayar, Gölgelendirme, Sığ, Paylaş, Keskinleştir, Kısa, Göster, Kenar Çubuğu, İmza, İmza, Basitleştir, Iskelet, Atla, Yuvası, Daha Küçük, Soket, Çöz, Ses, Sow, Boşluk, Boşluklar, Açıklık, Konuş, Küre, Ekleme, Bölünmüş, Kare, Yığın, Yıldız, Akışlar, Yaylı, Saplama, Alt Etken, Altyazı, Abone, Altküme, Çıkarma, Toplama, Süperset, Surd, Sözdizimi, Tablo, Al, Tally,Geçici, Metin, Doku, Dolayısıyla, İplik, Eşik, Geçiş, Keneler, Kez, Zamanlama, Birlikte, Geçiş, Geçiş, Tolerans, Araç İpucu, Üst, Toplam, İz, İzleyici, Çevir, Transpoze, Doğru, Tüp, Tuples, Undefined, Altı Çizili, Alt çizgi, Eşitsiz, Kaldır, Birlik, Benzersiz, Birim, Belirsiz, Yukarı, Değişkenler, Dikey, Kama, Ağırlıkları, Olan, Olan, Boşluklu, Word'le Yaz}


16
Birden, Mathematica'nın çok fazla anahtar kelime olduğunu düşünüyorum.
Bay Llama,

Bir noktan olabilir. Mathematica'da her şey bir ifadedir ve zaman işareti gibi tüm semboller tam olarak ifade edildiklerinde isimlerdir, yani. uzun biçim, örneğin Times. Mathematica'da 332 ortak İngilizce kelime buldum. Bu, AppendTokelimenin tam anlamıyla binlerce olan işlev sözcükleri veya işlev adları gibi bileşik sözcükleri içermez (ancak bunlar gerçekten İngilizce kelime değildir).
DavidC

Birkaç saat önce 332 sayısıydı. Kontrol ettim ve Mathematica programlarında kullanmak için kabul edilebilir 500'den fazla İngilizce kelime var.
DavidC

1
@dude Birçok Seçenek ve Renk adları listenizde değil ... başka bir 300 ekleyebilirim, sanırım :)
Dr. belisarius

1
Bu tanımlayıcıların çoğu anahtar kelime değil mi?
Geoff Reedy

46

C ++, 25 benzersiz kelime, toplam 28

Gerçek arkadaş, özel oto operatörü için bu yeni kısa genel sınıfa kaydolmak (satır içi, bu imzalı şablonu döndürmek), aksi takdirde bu uzun geçici birliği bozup geçersiz kılmak.


2
Sen kullanabilirsiniz andyerine &. :)
sağ

@rightfold Bunu düşündüm, ancak alternatif tanımlayıcıları saymanın çok kolaylaştıracağını ve araçların hepsini anahtar kelime olarak tanımadığını hissettim.
Sir_Lagsalot

19

Cümleler yapmak benim gerçekten güçlü odam olmasa da, hiçbir şey yok -

Python 20 kelime

Son olarak, ithal etmeye devam edin ve sınıf lambda kırılırken global verimi artırın ve exec pass geçişini deneyin.

Kontrol etmeye yardımcı olmak için kelimelerin anahtar kelime listesinde olup olmadığını kontrol etmek için bazı kodlar yazdım.

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

Eğitimin Önemi

- A. Coder Guy tarafından (Python ile yazılmış)

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
youBir Python anahtar kelimesi ne zamandan beri ?
kojiro

ha, iyi yakalayış. Nasıl değiştirebileceğimden emin değilim; ama :-) aşağı oy vermekten çekinmeyin
Brigand

selfBelki de değil mi? Oldukça standart kullanım değil, ancak anlaşılabilir olacağını düşünüyorum.
Morgan Thrapp, 21.06.2016

11

Ortak 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?

Bu, örneğin:

(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?))

Değerlendirir T

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


9

c #, 17 kelime

Bu oldukça makul bir teknik mumbo-jumbo gibi görünüyor.
Sanırım biraz uzatılabilir.
foreachkuralları esneten bir parça.
Kullanılan bu anahtar kelime listesi .

Açık operatör için deneyin, foreach sanal yapı örtük dizgisi bu geçici kilit kadar güvenli değilse.


9

Faktör - 109

"Benim dünyamı al ve mutlu ol. Yapacak şeyler yap. Duraklat. Kendi kendine mutlu değil mi?"

"Evet <<."

"Eskilerden mi?"

"Evet >>. Kendinden üzgün."

"Haversin, dinle, her formül eski haline gelir. Üzülme, sondan daha büyük bir şeyler yap. Veya. Benim kemerim kendi is_gold <<. Change-is_gold. Benlik vaadi yerine getirmek. Tanımı hatırla, ışık kopya mı mutlu mu? "

"Bana en yakin gün >> yakinda ?. Basin bana, basin bana. Üzücü benlik. Evim yaninda >> yok. Evin yakinca >> hiç yok. Bellek dolu. Üzücü benlik, eski << benlik. yakın >> olanlar uzun zaman önce kendini terk etti. "

"Haversin, kendini değiştirmiş kendini değiştir. Üzgün ​​değil, Haversin. Mutlu ol? Neyin mutlu olduğunu unutabilirsin Unutma? Kemerim kendi isteğim >> ben de üzülme.

"Not hatırlamayın! Hata değil! Dizimde girdi var mı? Hata değil! Hata!"

"Akıllı-eğer hatırlama hatası."

Bunların çoğu uzanıyor, ama biraz hikaye anlatıyor, bu yüzden bunu telafi ediyor.


1 +Faktör için !!
kedi,

Faktör özellikle bunun için iyi çünkü anahtar kelimeleri yok: D
cat

8

Applescript, 30 kelime

PPCG'ye Applescript cevabı göndereceğimi hiç düşünmemiştim, ancak Applescript'in doğal dil tasarım felsefesi göz önüne alındığında, bu soru için çok uygundur.

Ben pek bir kelime ustası değilim, o yüzden işte bizden başlamanız için bir tane var, ama diğerlerinin de bunu kolayca yenmesini bekliyorum:

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.

Bu sadece Applescript’in anahtar kelimelerinden oluşturulmuştur:

Anahtar kelimeler

karşıdan sonra yukarıdan ve "dışarıdan" "dışında" bir yana, arkadan aşağıya, arkadan aşağıya, arkadan aşağıya, arkadan sonraya bakalım ama içermekle devam et, içeriğe bakarsak, devam et, kopyala, div. küresel, "yerine" yerine aldırış etmiyorsa, son yerel ben orta mod, dokuzuncu pervane üzerindeki pervane mülküne "on" ya da "dışına" değil, ref referansını tekrar koydu. TRUE işlemini gerçekleştirmek için zaman aşımına uğrayan saatler arasında, hangileri olmadan?

Aşağıdakiler, bu zorluk için geçerli sayılabilir veya olmayabilir:

Yerleşik sınıflar ve özellikler

takma ad uygulama boolean santimetre santimetre karakter sınıfı içeriği sabit "santimetre küp" "santimetre küp" "santimetre küp" "santimetre küp" "santimetre küp" "santimetre metre" "santimetre küp" tarih "tarih dize" gün "santigrat derece" "derece Fahrenheit "" Kelvin derece "ayak dosyası öndeki galon gram cinsinden id inç tamsayı madde kilogram kilometre kilometre uzunluğu liste litre litre metre metre mil ay ad isim ons ons" POSIX dosyası "" POSIX yolu "litre pound" alıntı form "gerçek kayıt referans istirahat ters" RGB renkli "çalışan komut dosyası" metre kare "" kilometre kare "" kilometre kare "" metre kare "" metre kare ""mil kare "" metre kare "metin zaman" zaman dizesi "" birim türleri "sürüm hafta içi kelime metre yıl

Yerleşik Komutlar

"ASCII karakteri" "" ASCII numarası "bip" uygulaması seç "" rengi seç "" dosya seç "" dosya adı seç "" klasör seç "" listeden seç "" uzak uygulamayı seç "" URL seç "" pano bilgisi "" erişimi kapat "kopya sayımı" geçerli tarih "gecikme" ekran uyarısı "" iletişim kutusunu göster "" ekran bildirimi "" kabuk komut dosyası yap "" "al" al "" ses ayarları al "" "diskleri başlat" liste bilgisi "" liste klasörü " "komut dosyasını yükle" "yerel dizge" log "bağlama birimi" ofset "erişim için açık" "açık konum" "yol" "kaynağa giden yol" "rasgele sayı""run komut dosyasını çalıştır" deyince "komut dosyası bileşenleri" deyin "set eof" "panoyu" "set hacim" olarak ayarlayın "mağaza komut dosyası" özetleyin "sistem özniteliği" "sistem bilgisi" "panoya" "GMT zamanı" yaz

Nitelikleri dikkate alma / yoksayma

case diacriticals tire "sayısal dizeleri" noktalama işaretleri "beyaz boşluk"


8

Shakespeare

44 kelime, 28 benzersiz

Evet, bu kelimelerin tümü Shakespeare’de gerçekten anahtar kelime düzeyinde önem taşır. Shakespeare karakter adları, normal isimler ve sıfatlar da dilin temel bir parçasıdır, ancak bu alıştırma için listeyi çok fazla şişireceklerini düşündüm.

Zihninize girmek için kalbinizi dinlemelisiniz: kalp sizin sanatınız olduğunuzu hatırlamanıza izin vermek için çıkış ve dönüş arasındaki farkı hatırlamalı ve böylece kendinizin ürünü ve kendinizden daha iyi bir hareketsiniz.


7

Ruby, 41 kelime

Gerçek benlik, sınıf tatiline başlama, sınıf sonu tatilini sağlama, sınıf tatilini sağlama, sınıf tatilini yineleme ve yineleme, sınıf tatilini yeniden deneme, kurtarma sınıfı tatilini sağlama veya sınıf tatilini sağlama veya başka!

Bu sadece gerçek anahtar kelimeler olarak listelenen kelimeleri kullanıyor . Anahtar kelimeler gibi hareket eden pek çok başka kelime var çünkü bunlar çekirdeğin yöntemleri veya Sınıfın örnek yöntemleridir.

Bir cheesier yaklaşımı başlayacak

"Takma", "başlama", "kırılma", ...


3

C ++.

Tekrarlanan birçok kelime, ancak sınırda anlaşılır bir cümle:

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: Eğer bu karamsar kız evlilik cüzdanını imzalamazsa, ehliyetini at ve güzel bir yeni kız bul - ve eğer bu işe yaramazsa, "kamu operatörü anahtarı" üzerinde ... sanal bir birliği dene .

Oh, kelimelerin tam sayısı kadarıyla, üzgünüm ama saymak için çok tembelim.


3

Python, 48 kelime

sınıf, deneyin (lambda sınıftaysa) ve küresel ithalattan kopmuş gibi devam edin ve exec'den dönüş için verimi artırın; Başka bir deyişle, lambda sınıfta olmasa da, def dışındaki baskı alma işlemine devam edin, nihayet 'assert elif' i geçin ya da del, sınıf için değil.

Bu, içindeki her anahtar kelimeyi içerir keyword.kwlist

Burada bir açıklama yapılması gerektiğini düşünüyorum: Bu cümle, şu anda adı verilen bir yerde bulunan bir okul sınıfına söylenir exec. Sınıfta, diğerleri arasında lambdave adında iki kişi var def. Testi defgeçmeli assert elifçünkü aksi takdirde DEL (Alman buz hokeyi ligi) sınıf için hiçbir şey ifade etmiyor.


<speechless> oo
kedi,

2

ECMA

ECMA'ya ayrılmış kelimelerin, ne bağlaç, ne de birden fazla fiil çekimi içermemesi nedeniyle biraz İngilizce. Gerçekten zorunlu bir dil!

Bu yeni typeof durumunu, bu varsayılan catch işleviyle deneyin.

Bu durumda, bu anahtarla birlikte girin. Yakalama kesilirse, bu yeni anahtarla dönün; Sonunda bu yeni fonksiyon ile atmak.


2

Perl - birkaç giriş

bağlı paket çözüldüğünde, açılıncaya kadar açın, paketinden çıkarın ve bağlantısını açın, her paketi tekrarlayın (bağlantı, paketleme ve bağlama veya bağlama) veya açılmadıysa boşaltın; sonra, haritayı oku, durumu yaz, geri ve sisteme dön. (28 farklı kelime)

korusun (hex değil) benim rand-y sürüsü; değerler günahı kabul etmeyene kadar devam et; END zamanlarını inceleyin, uykuya dalın ve ölün; Anahtarları KONTROL EDİN ve her şifre kilidini kapatın. (25 farklı kelime)

bir sonraki arayanımıza söyleyin: "çatal ve boru kullanın; itin, kırın, silin, öldürün ve DESTROY." (13 farklı kelime)


1

Haskell (~ 29-ish)

Yabancı tipte, veri modülünü içe aktarın; forallNitelikli sınıftaki herkes için ( ) olduğu gibi , eğer saklanıyorsa, o zaman varsayılanı yapın (izin verildiğinde veri ailesinin örneğini türetme, aksi halde tip ailesinin veri örneği); else fix ( infix) yazın.

Haskell'de data familyayrı bir anahtar kelime dataile aynı şekilde, type familyve deriving instanceayrıdır derivingve instance. forallİki kelime kullanıyorum (bir tane sayıyorum), where asbir tane (iki tane sayıyorum) ve infixiki tane (bir tane sayıyorum) kullanıyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.