Escreva a frase mais longa usando palavras-chave de uma linguagem de programação [fechada]

36

Como o título dizia, o desafio é escrever a frase mais longa usando apenas as palavras-chave de 1 linguagem de programação.

Por exemplo, usando as palavras-chave do C ++ , é possível escrever esta frase:

não tente esta bóia

O que você pode criar?

Pubby
fonte
16
Shakespeare deve ser bom para isso en.wikipedia.org/wiki/…
gnibbler
3
@elssar Sim, desde que você não os abuse da forma en.wikipedia.org/wiki/… .
Pubby
1
Você não precisa de muitas palavras para fazer sentenças arbitrariamente longas. Por exemplo, com as palavras-chave C ++, você pode fazer "Tente isso e tente isso e ...". Famosamente, você pode fazer uma sentença arbitrariamente longa usando apenas a palavra "búfalo", e como alguém diz nesta página , você pode fazer o mesmo com "char" ("não é muito difícil ver peixes do gênero Salvelinus queimando um ao outro" , acesso a lança-chamas suficientemente poderosos "). Talvez fosse mais interessante se cada palavra pudesse ser usada apenas uma vez?
James
1
Eu estava fazendo isso antes desta pergunta ser publicada. Eu estava sendo muito imaturo na época, então vou avisá-lo sobre a explicitlinguagem. chat.stackoverflow.com/transcript/7?m=4671602#4671602
Kendall Frey
6
Finalmente, um desafio que os caras APL não pode ganhar
kb_sou

Respostas:

34

Mathematica 100 80 palavras únicas

Aqui está um começo. Todas as palavras padrão no Mathematica começam com maiúsculas. isso inclui Ia raiz quadrada de 1 negativo.

No domingo e para todo o sempre - supondo que, ao abrir cadernos interativos dinâmicos claros para a definição de contornos, não traduzo matrizes azuis ausentes que abrangem caracteres temporários, assíncronos e invisíveis, nem removo pontas de seta indefinidas com laranja externa editável e sonora Raízes que ampliam nomes rasos juntamente com atributos falsos (porque a maioria dos eixos divide núcleos internos completos em ordem inversa) - e enquanto animar carrapatos silenciosos indefinidos, começo com tolerância e opero em todas as matrizes manuais, intercalando círculo com cilindro, esqueleto encaixotado com Cubóide compilado, cruz vermelha com padrão de tempo mais próximo e junte links brancos exclusivos repetidos com cabeças ...


Caso alguém esteja interessado, aqui estão mais de 500 palavras reconhecidas pelo Mathematica (nenhuma biblioteca adicional é necessária). Elas não são todas palavras-chave, mas os programadores experientes do Mathematica conhecerão e usaram quase todas elas.


{Abortar, Acima, Abs, Acumular, Precisão, AddTo, Depois, Alinhamento, Todos, Alternativas, Analítico, E, Animar, Animador, Anotação, Anuidade, Antialiasing, Antisymmetric, Apart, Aparência, Anexar, Aplicar, Matriz, Matrizes, Seta , Setas, Afirmar, Assumindo, Pressupostos, Assíncrono, Atributos, Automático, Machados, Eixo, Voltar, Plano de fundo, Barra invertida, Para trás, Banda, Linha de base, Porque, Sinal sonoro, Antes, Início, Abaixo, Binarizar, Binomial, Em branco, Mistura, Bloco Borrão, Marcadores, Booleanos, Parte inferior, Limites, Caixa, Pausa, Botão, Byte, Cancelar, Cap, Casos, Fluxo de caixa, Capturar, Teto, Célula, Células, Censura, Centro, Personagem, Personagens, Verifique, Caixa de seleção, Costeleta, Círculo , Limpar, Clipe, Relógio, Fechar, Fechado, Fechamento, Grosso, Coeficiente, Coletar, Dois pontos, Colorir, Coluna, Mais comuns, Compilar, Compilado, Complemento, Complexo, Compor, Composição, Comprimir, Condição,Cone, Congruente, Conjunção, Conectar, Constante, Constantes, Contexto, Contextos, Continuar, Contornos, Controle, Convergentes, Convolver, Copiável, Correlação, Berço, Contagem, Covariância, Cruz, Cumulante, Copa, Onda, Ciclos, Cilindro, Mais escuro, Data, Depuração, Decremento, Padrão, Adiar, [Grau], Desinicialização, Deletável, Delimitador, Delimitadores, Denominador, Implementar, Implementado, Profundidade, Derivada, Diagonal, Diálogo, Diamante, Diferenças, Dilatação, Dimensões, Direção, Diretiva, Disjunção, Disco, Despacho, Exibir, Distribuir, Distribuído, Pontilhamento, Dividir, Divisores, Divisíveis, Divisores, Fazer, Ponto, Para baixo, Gota, Dinâmico, Editável, Autovalores, Elemento, Eliminar, Vazio, Ativado, Codificar, Finalizar, Entrar, Epilog, Igual, Equivalente, Avaliador, Exceto, Existe, Sair, Expandir, Expectativa, Expoente, Exportar, Expressão, Extrair, Fator, Fator, Fatorial, Falha, Falso,Arquivo, Preenchimento, Localizar, Primeiro, Ajuste, Plano, Achatar, Piso, Dobrar, Fonte, Para, Avançar, Quadro, Frente, Completo, Função, Reunir, Geral, Genérico, Obter, Gráfico, Gráficos, Maior, Grade, Hash, Cabeça, Cabeças, Histograma, Segure, Matiz, Hiperlink, Hifenização, I, Identidade, Se, Imagem, Implícita, Em, Incremento, Herdado, Interno, Entrada, Inserir, Inserir, Inserir, Instalar, Inteiro, Inteiros, Integral, Integrar, Interativo, Intercalação, Intervalo, Invisível, Item, Unir, Juntar-se, Núcleos, Rótulo, Rotulado, Grande, Maior, Último, Latitude, Lançamento, Esquerda, Lendária, Comprimento, Menos, Nível, Iluminação, Limite, Linha, Links, Lista, Listável, Ouça, Literal, Bloqueado, Log, Mais longos, Longitude, Ampliação, Ampliar, Maioria, Manipular, Manual, Mapa, Mascaramento, Material, Matrizes, Maximizar, Média, Mediana, Médio, Menu, Malha, Mensagem, Mensagens, Método, Minimizar, Menores, Ausentes, Modal, Modo,Modular, Módulo, Módulo, Momento, Segunda-feira, Monitor, Mais, Mouseover, Multinomial, Multiplicidade, Multiseleção, Nomes, Mais próximo, Necessidades, Negativo, Ninho, Próximo, Nenhum, Nor, Norma, Normal, Normalizar, Não, Notebook, Notebooks, Nulo, Número, Numerador, Desativado, Offset, Ativado, Opacidade, Aberto, Abertura, Operação, Opcional, Opções, Ou, Ordem, Pedido, Sem pedidos, Ortogonalizar, Fora, Exterior, Excesso, Excesso, Paclet, Painel, Painel, Painel, Paralelizar, Parâmetro, Parênteses, Parte, Partição, Colar, Caminho, Padrão, Pausa, Permutações, Permutar, Perpendicular, [Pi], Por partes, Pivotante, Colocado, Espaço reservado, Sem formatação, Reproduzir, Plotar, Mais, Ponto, Polígono, Polinômios, Posição, Positivo, Potência, Precedência, Precede, Precisão, Prefixo, Anexar, Anterior, Imprimir, Probabilidade, Projeção, Prolog, Propriedades, Propriedade, Proporção, Proteger, Protegido, Poda, Colocar, Pirâmide,Quantile, Quantity, Quartics, Quartiles, Queuing, Quiet, Quitient, Radon, Random, Range, Raster, Rasterize, Rational, Rationals, Read, Real, Reap, Record, Rectangle, Reduce, Refine, Refresh, Reinstall, Release, Remova, Removido, Repetido, Substitua, Reamostragem, Rescalar, Resolver, Descanso, Retorno, Reverso, Riffle, Direito, Raiz, Raízes, Girar, Rodada, Linha, Regra, Sábado, Salvar, Savível, Escala, Escalado, Digitalizar, Barras de rolagem, Selecionar, Seleção, Sequência, Série, Conjunto, Retrocessos, Setter, Configuração, Sombreamento, Raso, Compartilhar, Nitidez, Curto, Mostrar, Barra lateral, Sinal, Assinatura, Simplificar, Esqueleto, Pular, Slot, Menor, Soquete, Resolver, Som, Porca, Espaçador, Espaçamentos, Extensão, Fala, Esfera, Emenda, Dividir, Quadrado, Pilha, Estrela, Fluxos, String, Esboço, Subfatorial, Subgráfico, Inscrito, Subconjunto, Subtrair, Soma, Superconjunto, Surd, Sintaxe, Tabela, Tally,Temporário, Texto, Textura, Portanto, Segmento, Limite, Através de, Carrapatos, Tempos, Tempo, Juntos, Alternar, Alternador, Tolerância, Dica, Topo, Total, Rastreamento, Rastreadores, Traduzir, Transpor, Verdadeiro, Tubo, Tuplas, Indefinido, Sublinhado, Sublinhado, Desigual, Desinstalar, União, Exclusivo, Unificar, Desativar, Acima, Variáveis, Vertical, Cunha, Pesos, Quais, Enquanto, Espaço em branco, Com, Word, Gravação}

DavidC
fonte
16
De repente, acho que o Mathematica tem muitas palavras-chave.
Mr. Llama
Você pode ter razão. No Mathematica, tudo é uma expressão e todos os símbolos, como o sinal do tempo, são nomes quando expressos na íntegra, ou seja. forma longa, por exemplo Times. Encontrei 332 palavras comuns em inglês no Mathematica. Isso não inclui palavras compostas, como AppendTonem nomes de funções, das quais existem literalmente milhares (mas na verdade não são palavras em inglês).
9133 DavidC
332 era a contagem algumas horas atrás. Eu verifiquei e existem mais de 500 palavras em inglês aceitáveis ​​para uso nos programas Mathematica.
DavidC
1
@dude Muitos nomes de opções e cores não estão na sua lista ... você pode adicionar outros 300, eu acho :) #
Dr. belisarius
1
A maioria desses identificadores não são palavras-chave?
Geoff Reedy
46

C ++, 25 palavras únicas, 28 total

Verdadeiro amigo, vá para a nova classe pública curta para operador de automóvel particular (enquanto estiver em linha, retorne este modelo assinado), mas quebre e anule essa união tão volátil.

Sir_Lagsalot
fonte
2
Você pode usar em andvez de &. :)
rightfold 18/01
@rightfold Eu considerei isso, mas achei que contar identificadores alternativos facilitaria demais, e nem todas as ferramentas os reconhecem como palavras-chave.
precisa saber é o seguinte
19

Embora fazer sentenças não seja realmente minha suíte forte, aqui não vale nada -

Python 20 palavras

Por fim, continue com a importação e aumente o rendimento global enquanto a classe lambda estiver em pausa e tente imprimir o passe executivo.

Para ajudar na verificação, escrevi um código para verificar se as palavras estão na lista de palavras-chave ou não.

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)
elssar
fonte
14

A importância da educação

- por A. Coder Guy (escrito em Python)

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.
Brigand
fonte
4
Desde quando é youuma palavra-chave Python?
Kojiro # 16/13
ha, boa captura. Não tenho certeza de como posso modificá-lo; mas sinta-se livre para downvote :-)
Brigand
Não é para selftalvez? Não é um uso bastante padrão, mas acho que seria compreensível.
Morgan Thrapp
11

Lisp comum

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

Isto, por exemplo:

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

Avalia para T

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

Strigoides
fonte
9

c #, 17 palavras

Isso parece bastante razoável técnico-mumbo-jumbo.
Eu acho que pode ser estendido um pouco.
foreaché um pouco esticando as regras.
Utilizou esta lista de palavras-chave .

Tente operador explícito, caso a sequência implícita para cada estrutura virtual seja tão insegura quanto esse bloqueio volátil.

Ugoren
fonte
9

Fator - 109

"Pegue meu mundo e com felicidade? Faça itens a fazer. Pausa. Eu não é feliz?"

"Sim <<."

"Desde velhos?"

"Sim >>. Auto triste."

"Haversin, ouça, toda e qualquer fórmula se torna antiga. Não fique triste, faça algo maior do que o anterior. Ou. Meu arco é auto-ouro <. Cumprir a promessa do eu. Lembre-se de definição, luz é cópias de felicidade?

"O dia mais doce perto de mim?". Trate-me, trate-me. Triste eu. Casa nem perto >>. Lar nem perto >>. Memória insuficiente. Tristeza. próximos >> deixaram-se há muito tempo. "

"Haversin, mudar o eu conhecido. Não é triste, Haversin. Torna-se feliz? Esqueça o que << manter-se feliz?

"Não lembre-se de erro! Erro não! Minha matriz tem entrada? Não está errada! Deixe o erro!"

"Erro inteligente se lembrar."

Muitos são trechos, mas, de certa forma, contam uma história, portanto compensam isso.

Matthew Rolph
fonte
1 +para o fator !!
gato
O fator é especialmente bom para isso porque não possui palavras-chave: D
cat
8

Applescript, 30 palavras

Nunca pensei em publicar uma resposta da Applescript no PPCG, mas, dada a filosofia de design da linguagem natural da Applescript, ela é perfeitamente adequada para essa pergunta.

Eu não sou muito apaixonado por palavras, então aqui está uma apenas para nos ajudar, mas espero que os outros superem isso facilmente:

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.

Isso é construído apenas com as palavras-chave da Applescript , que são:

Palavras-chave

sobre acima depois contra e "à parte" ao redor como "à parte" na parte de trás antes de começar atrás abaixo embaixo ao lado entre mas considerando considerar contém continuar cópia div o oitavo mais termina igual igual erro todas as saídas FALSO quinto primeiro para o quarto da frente são dados global se ignorar em "em vez de" em é seu último mod local me meio, meu nono não liga ou "sai" de propriedade acima da referência colocada ref referência repetir retorno retornar script segundo set sétimo desde que sexto alguns dizem décimo que o terceiro terceiro através de tempos limite para a transação TRUE tentar até usar onde enquanto com quem sem

O seguinte pode ou não ser considerado válido para este desafio:

Classes e propriedades integradas

alias aplicação centímetros booleanos centímetros conteúdo da classe de caracteres constante "centímetros cúbicos" "centímetros cúbicos" "pés cúbicos" "polegadas cúbicas" "metros cúbicos" "metros cúbicos" "metros cúbicos" data "string de data" dia "graus Celsius" "graus Fahrenheit "" graus Kelvin "pés arquivo galões mais à frente gramas id polegadas número inteiro item quilogramas quilômetros quilômetros comprimento lista litros litros metros metros milhas nome do mês número onças parágrafo" arquivo POSIX "" caminho POSIX "" cor "script em execução" pés quadrados "" quilômetros quadrados "" quilômetros quadrados "" metros quadrados "" metros quadrados ""milhas quadradas "" jardas quadradas "hora do texto" sequência de horas "" tipos de unidades "versão dia da semana palavra jardas ano

Comandos internos

ativar "Caractere ASCII" "Número ASCII" bipe "escolher aplicativo" "escolher cor" "escolher arquivo" "escolher nome do arquivo" "escolher pasta" "escolher pasta" "escolher na lista" "escolher aplicativo remoto" "escolher URL" "informações da área de transferência" " fechar acesso "contagem de cópias" data atual "atraso" exibir alerta "" exibir caixa de diálogo "" exibir notificação "" executar shell script "obter" obter eof "" obter configurações de volume "" informações para "iniciar" discos de lista "" pasta de lista " "load script" "string localizada" log "volume de montagem" offset "aberto para acesso" "local aberto" "caminho para" "caminho para recurso" "número aleatório"ler rodada executar "executar script", dizer "componentes de script" definir "definir eof" "definir a área de transferência para" "definir volume" "armazenar script" resumir "atributo do sistema" "informações do sistema" "a área de transferência" "tempo para GMT" escrever

Considerando / Ignorando Atributos

diacríticos caso hífens "seqüências numéricas" pontuação "espaço em branco"

Trauma Digital
fonte
8

Shakespeare

44 palavras, 28 únicas

Sim, todas essas palavras realmente têm significado no nível das palavras-chave em Shakespeare. Nomes de personagens de Shakespeare, substantivos normais e adjetivos também são uma parte essencial da linguagem, mas eu pensei que eles iriam inchar demais a lista para este exercício.

Você deve ouvir seu coração para entrar em sua mente: o coração deve recordar a diferença entre a saída e o retorno, para que você se lembre de que você é sua arte e, portanto, você é o produto de si mesmo e um ato melhor que você.

Luke
fonte
7

Ruby, 41 palavras

Verdadeiro eu, não comece a quebra de classe, termine a quebra de classe, garanta a quebra de classe, refaça e refaça a quebra de classe, tente novamente a quebra de classe, recupere a quebra de classe ou produza quebra de classe até o próximo final de aula (ou o próximo módulo de classe ou o próximo retorno de classe) , se não!

Isso é apenas usando palavras listadas como palavras-chave reais . Existem muitas outras palavras que agem como palavras-chave porque são métodos do kernel ou métodos de instância da Class.

Uma abordagem de queijo começaria

Não def "alias", "begin", "break", ...

histocrata
fonte
3

C ++.

Muitas palavras repetidas, mas uma frase sensata na fronteira:

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: Se essa garota mal-humorada não assinar a licença de casamento, jogue fora a licença e encontre uma boa garota nova - e se isso não der certo, tente uma ... união virtual pelo "interruptor de operador público" .

Ah, quanto ao número exato de palavras, desculpe, mas estou com preguiça de contar.

Jerry Coffin
fonte
3

Python, 48 palavras

classe, tente (se lambda estiver na classe) e continue como se estivesse fora da importação global e aumente o rendimento para retorno do exec; caso contrário, enquanto o lambda não estiver na classe, continue com a importação de impressão, exceto para def, finalmente passe 'assert elif' ou então del não é para a classe.

Isso contém todas as palavras-chave em keyword.kwlist

Penso que é necessária alguma explicação aqui: Esta frase é dita a uma turma da escola que atualmente está em algum lugar chamada exec. Na classe, há entre outras duas pessoas nomeadas lambdae def. defdeve passar no assert elifteste porque, caso contrário, a DEL (liga alemã de hóquei no gelo) não é nada para a classe.

jazzpi
fonte
<speechless> oo
cat
2

ECMA

Um pouco de inglês quebrado, devido ao fato de que as palavras reservadas pela ECMA não contêm conjunções nem mais de uma conjugação de verbo. É realmente uma linguagem imperativa!

Tente este novo tipo de caso, com esta função de captura padrão.

Nesse caso, interrompa com essa opção. Se houver interrupção, retorne com este novo comutador; finalmente jogue com esta nova função.

kojiro
fonte
2

Perl - várias entradas

quando receber um pacote amarrado, desatar, desembalar e desvincular até abrir, refaça cada pacote (vincule, embale e amarre ou amarre) ou despeje se não estiver aberto; Em seguida, leia o mapa, escreva o estado, inverta e retorne o sistema. (28 palavras distintas)

abençoe (não azarar) meu rebanho aleatório; continue até que os valores não aceitem pecado; estude os horários do fim, aceite o sono e morra; VERIFIQUE as chaves e feche cada trava de criptografia. (25 palavras distintas)

diga ao nosso próximo chamador: "use garfo e cano; empurre, quebre, exclua, mate e DESTRUA". (13 palavras distintas)

Ralph Marshall
fonte
1

Haskell (~ 29 anos)

No caso de tipo estrangeiro, importe o módulo de dados; onde, como para all ( forall) na classe qualificada, se estiver ocultando, faça o padrão (deixe entrar, derivando a instância da família de dados onde qualificada, caso contrário, a instância de dados do tipo família); caso contrário, digite fix ( infix).

Em Haskell, data familyé uma palavra-chave separada de data, da mesma forma com type family, e deriving instanceé separada de derivinge instance. Estou usando forallcomo duas palavras (contando apenas uma), where ascomo uma (contando duas) e infixcomo duas (contando uma).

archaephyrryx
fonte