Une vieille bénédiction irlandaise

14

Je ne sais pas qui a inventé ces mots, et je ne suis pas irlandais, mais je vous donne une bénédiction irlandaise:

May the road rise up to meet you
May the wind be always at your back
May the sun shine warm upon your face
The rains fall soft upon your fields
And until we meet again
May God hold you in the hollow of His hand

J'avais l'intention de publier ceci dans quelques semaines, mais je me suis juste rendu compte que c'était hier la Saint-Patrick.

Règles:

  • Produisez exactement le texte ci-dessus.
    (N'hésitez pas à enfreindre cette règle dans un souci d'intelligence et d'amusement.)
  • Le programme doit générer le texte de son propre gré. catn'est pas une solution valable.
  • La solution avec le moins de personnages "gagne".

J'ai vu de légères variations dans le libellé des versions de la bénédiction que j'ai obtenue sur Internet, alors j'ai essayé de les faire la moyenne. Veuillez utiliser la version publiée ci-dessus. De plus, j'ai laissé tomber la ponctuation pour la rendre un peu plus facile.

Que la chance des Irlandais vous enveloppe.

Joey Adams
la source

Réponses:

2

05AB1E , 117 octets

'€¿“‡âŽÓ€î€†€€èÊ€‚“„€Ë‡´).ªðý“€¿€€†â£ƒ€¾€„‰Ã€î““€¿€€ïë€ï‡Š€›€ž‚ƒ““€¿€€‡µã»©ÃˆÉ€žŠÑ““€€¥·sŽ§š¼ˆÉ€ž™æ““€ƒ‡æ€¦‰Ã†î“).ªÀ»

Essayez-le en ligne!

'€¿                 "may"
“‡âŽÓ€î€†€€èÊ€‚“    "god hold you in the hollow of"
„€Ë‡´               "his hand"
)                   push stack into a list
.ª                  sentence-case each
ðý                  and join by spaces
“€¿€€†â£ƒ€¾€„‰Ã€î“  "may the road rise up to meet you"
“€¿€€ïë€ï‡Š€›€ž‚ƒ“  "may the wind be always at your back"
“€¿€€‡µã»©ÃˆÉ€žŠÑ“  "may the sun shine warm upon your face"
“€€¥·sŽ§š¼ˆÉ€ž™æ“   "the rains fall soft upon your fields
“€ƒ‡æ€¦‰Ã†î“        "and until we meet again"
)                   push stack into a list
.ª                  sentence-case each
À                   rotate list left
»                   join by newlines
                    implicitly print
Dorian
la source
14

Python, 143 caractères

#coding:u8
print u'慍⁹桴⁥潲摡爠獩⁥灵琠敭瑥礠畯䴊祡琠敨眠湩⁤敢愠睬祡⁳瑡礠畯⁲慢正䴊祡琠敨猠湵猠楨敮眠牡灵湯礠畯⁲慦散吊敨爠楡獮映污潳瑦甠潰潹牵映敩摬ੳ湁⁤湵楴敷洠敥⁴条楡੮慍⁹潇⁤潨摬礠畯椠桴⁥潨汬睯漠⁦楈⁳慨摮'.encode("u16")[2:]

exécuter à codepad.org

VOUS
la source
8

Haskell, 179 caractères

e="\n "++['='..'z']++e;i r=[e!!div r 64,e!!r]
main=putStr$i.fromEnum=<<"뒦뾁빭몁뷴릩끷뮸몁뺵끹봁벪몹끾봺뀒릾끹뭪끼뮳멁맪끦뱼릾븁릹끾봺뷁맦먰뀒릾끹뭪끸뺳끸뭮볪끼릷벁뺵봳끾봺뷁뫦먪뀙뭪끷릮본끫릱뱁븴뫹끺뵴볁뾴뺷끫뮪뱩븀놳멁뺳빮뱁뼪끲몪빁리릮변뒦뾁댴멁뭴뱩끾봺끮볁빭몁뭴뱱봼끴뫁덮븁뭦볩뀀"

Cela exploite l'ancien lien commun entre les Irlandais et les Coréens. Vous saviez tous que la culture de la dentelle et de la pomme de terre passait par la Corée et que le Kimchi avait d'abord été fabriqué à Dublin ... non?


  • Edit: (197 -> 184) Pas besoin de mod(pourquoi⁈ :-)); supprimé la déclaration séparée pour le texte coréen.
  • Edit: (184 -> 179) Utilisé un plus compact pour représenter le livre de codes.
MtnViewMark
la source
Hahaha, chouette! C'est pourquoi je fais généralement attention à dire "solution avec le moins de caractères " (j'ai édité mon article en conséquence). Exploiter Unicode est toujours une option, mais peu de gens la prennent.
Joey Adams
N'est-il pas possible de mettre trois nos quatre caractères en un seul exploitant de cette façon?
FUZxxl
@FUZxxl: Vous devez être prudent: toutes les valeurs dans la plage 0x0 ~ 0x10FFFF ne sont pas utilisables. Certains sont carrément interdits (0xD800 ~ 0xDFFF par exemple et toute valeur se terminant par FFFE ou FFFF), d'autres peuvent ou non être légaux dans la définition lexicale d'un langage de programmation donné. Je choisis Hangul ici parce que c'est un grand bloc de valeurs sans trous, et tout cela est certainement légal dans toute définition de chaîne Unicode. Mais, il ne fait que ~ 13 bits.
MtnViewMark
MtnViewMark: Si vous avez deux substituts consécutifs, il est en effet valide et serait un seul point de code en dehors du BMP. Cela nécessiterait que l'implémentation utilise UTF-16 et pourrait réduire les besoins de votre personnage d'un;)
Joey
@Joey - Vous ne pouvez utiliser des substituts que si chaque apparence est jumelée et dans le bon ordre (une de 0xD800 ~ 0xDBFF et la suivante de 0xDC00 ~ 0xDFFF). Mais, dans le cas de Haskell, c'est théorique: Stringc'est une séquence de valeurs scalaires unicode (U + 0000 ~ U + D7FF & U + E000 ~ U + 10FFFF), pas des unités de code UTF-16. Notez que fromEnumrenvoie la valeur scalaire du point de code du caractère, pas une valeur codée.
MtnViewMark
4

INTERCALL , 3421 octets

Une solution simple. Généré automatiquement, si quelqu'un se demande ...

INTERCALL IS A ANTIGOLFING LANGUAGE
SO THIS HEADER IS HERE TO PREVENT GOLFING IN INTERCALL
THE PROGRAM STARTS HERE:
PUSH LXXVII
PRINT
PUSH XCVII
PRINT
PUSH CXXI
PRINT
PUSH XXXII
PRINT
PUSH CXVI
PRINT
PUSH CIV
PRINT
PUSH CI
PRINT
PUSH XXXII
PRINT
PUSH CXIV
PRINT
PUSH CXI
PRINT
PUSH XCVII
PRINT
PUSH C
PRINT
PUSH XXXII
PRINT
PUSH CXIV
PRINT
PUSH CV
PRINT
PUSH CXV
PRINT
PUSH CI
PRINT
PUSH XXXII
PRINT
PUSH CXVII
PRINT
PUSH CXII
PRINT
PUSH XXXII
PRINT
PUSH CXVI
PRINT
PUSH CXI
PRINT
PUSH XXXII
PRINT
PUSH CIX
PRINT
PUSH CI
PRINT
PUSH CI
PRINT
PUSH CXVI
PRINT
PUSH XXXII
PRINT
PUSH CXXI
PRINT
PUSH CXI
PRINT
PUSH CXVII
PRINT
PUSH X
PRINT
PUSH LXXVII
PRINT
PUSH XCVII
PRINT
PUSH CXXI
PRINT
PUSH XXXII
PRINT
PUSH CXVI
PRINT
PUSH CIV
PRINT
PUSH CI
PRINT
PUSH XXXII
PRINT
PUSH CXIX
PRINT
PUSH CV
PRINT
PUSH CX
PRINT
PUSH C
PRINT
PUSH XXXII
PRINT
PUSH XCVIII
PRINT
PUSH CI
PRINT
PUSH XXXII
PRINT
PUSH XCVII
PRINT
PUSH CVIII
PRINT
PUSH CXIX
PRINT
PUSH XCVII
PRINT
PUSH CXXI
PRINT
PUSH CXV
PRINT
PUSH XXXII
PRINT
PUSH XCVII
PRINT
PUSH CXVI
PRINT
PUSH XXXII
PRINT
PUSH CXXI
PRINT
PUSH CXI
PRINT
PUSH CXVII
PRINT
PUSH CXIV
PRINT
PUSH XXXII
PRINT
PUSH XCVIII
PRINT
PUSH XCVII
PRINT
PUSH XCIX
PRINT
PUSH CVII
PRINT
PUSH X
PRINT
PUSH LXXVII
PRINT
PUSH XCVII
PRINT
PUSH CXXI
PRINT
PUSH XXXII
PRINT
PUSH CXVI
PRINT
PUSH CIV
PRINT
PUSH CI
PRINT
PUSH XXXII
PRINT
PUSH CXV
PRINT
PUSH CXVII
PRINT
PUSH CX
PRINT
PUSH XXXII
PRINT
PUSH CXV
PRINT
PUSH CIV
PRINT
PUSH CV
PRINT
PUSH CX
PRINT
PUSH CI
PRINT
PUSH XXXII
PRINT
PUSH CXIX
PRINT
PUSH XCVII
PRINT
PUSH CXIV
PRINT
PUSH CIX
PRINT
PUSH XXXII
PRINT
PUSH CXVII
PRINT
PUSH CXII
PRINT
PUSH CXI
PRINT
PUSH CX
PRINT
PUSH XXXII
PRINT
PUSH CXXI
PRINT
PUSH CXI
PRINT
PUSH CXVII
PRINT
PUSH CXIV
PRINT
PUSH XXXII
PRINT
PUSH CII
PRINT
PUSH XCVII
PRINT
PUSH XCIX
PRINT
PUSH CI
PRINT
PUSH X
PRINT
PUSH LXXXIV
PRINT
PUSH CIV
PRINT
PUSH CI
PRINT
PUSH XXXII
PRINT
PUSH CXIV
PRINT
PUSH XCVII
PRINT
PUSH CV
PRINT
PUSH CX
PRINT
PUSH CXV
PRINT
PUSH XXXII
PRINT
PUSH CII
PRINT
PUSH XCVII
PRINT
PUSH CVIII
PRINT
PUSH CVIII
PRINT
PUSH XXXII
PRINT
PUSH CXV
PRINT
PUSH CXI
PRINT
PUSH CII
PRINT
PUSH CXVI
PRINT
PUSH XXXII
PRINT
PUSH CXVII
PRINT
PUSH CXII
PRINT
PUSH CXI
PRINT
PUSH CX
PRINT
PUSH XXXII
PRINT
PUSH CXXI
PRINT
PUSH CXI
PRINT
PUSH CXVII
PRINT
PUSH CXIV
PRINT
PUSH XXXII
PRINT
PUSH CII
PRINT
PUSH CV
PRINT
PUSH CI
PRINT
PUSH CVIII
PRINT
PUSH C
PRINT
PUSH CXV
PRINT
PUSH X
PRINT
PUSH LXV
PRINT
PUSH CX
PRINT
PUSH C
PRINT
PUSH XXXII
PRINT
PUSH CXVII
PRINT
PUSH CX
PRINT
PUSH CXVI
PRINT
PUSH CV
PRINT
PUSH CVIII
PRINT
PUSH XXXII
PRINT
PUSH CXIX
PRINT
PUSH CI
PRINT
PUSH XXXII
PRINT
PUSH CIX
PRINT
PUSH CI
PRINT
PUSH CI
PRINT
PUSH CXVI
PRINT
PUSH XXXII
PRINT
PUSH XCVII
PRINT
PUSH CIII
PRINT
PUSH XCVII
PRINT
PUSH CV
PRINT
PUSH CX
PRINT
PUSH X
PRINT
PUSH LXXVII
PRINT
PUSH XCVII
PRINT
PUSH CXXI
PRINT
PUSH XXXII
PRINT
PUSH LXXI
PRINT
PUSH CXI
PRINT
PUSH C
PRINT
PUSH XXXII
PRINT
PUSH CIV
PRINT
PUSH CXI
PRINT
PUSH CVIII
PRINT
PUSH C
PRINT
PUSH XXXII
PRINT
PUSH CXXI
PRINT
PUSH CXI
PRINT
PUSH CXVII
PRINT
PUSH XXXII
PRINT
PUSH CV
PRINT
PUSH CX
PRINT
PUSH XXXII
PRINT
PUSH CXVI
PRINT
PUSH CIV
PRINT
PUSH CI
PRINT
PUSH XXXII
PRINT
PUSH CIV
PRINT
PUSH CXI
PRINT
PUSH CVIII
PRINT
PUSH CVIII
PRINT
PUSH CXI
PRINT
PUSH CXIX
PRINT
PUSH XXXII
PRINT
PUSH CXI
PRINT
PUSH CII
PRINT
PUSH XXXII
PRINT
PUSH LXXII
PRINT
PUSH CV
PRINT
PUSH CXV
PRINT
PUSH XXXII
PRINT
PUSH CIV
PRINT
PUSH XCVII
PRINT
PUSH CX
PRINT
PUSH C
PRINT
END

sensationnel

TuxCrafting
la source
3

GolfScript (204 caractères)

Contient des caractères non imprimables, le copier-coller peut donc ne pas fonctionner:

:k'May the road rise up to meet you
wind be always ar back¢ sun shin¬armÈon€face
Tåainsll soft¡ields
Aäuntil we meet ag²áGod holdø inñlow of His hand'{k{{k$}*0:k;}{127.2$<{-:k}*;}if}/](+

Codé en Base64:

OmsnTWF5IHRoZSByb2FkIHJpc2UgdXAgdG8gbWVldCB5b3UKnwh3aW5kIGJlIGFsd2F5cyBhnAVy
IGJhY2uiCXN1biBzaGlurANhcm3IA29upAZmYWNlClTlBGFpbnONA2xsIHNvZnShDGllbGRzCkHk
A3VudGlsIHdlIG1lZXQgYWeyA+EFR29kIGhvbGT4BCBpbvEFjgNsb3cgb2YgSGlzIGhhbmQne2t7
e2skfSowOms7fXsxMjcuMiQ8ey06a30qO31pZn0vXSgr

Il y a vraiment moins de redondance que ce à quoi vous pourriez vous attendre dans la chaîne. Je pense que les économies de gzip sont 2/3 de Lempel-Ziv et 1/3 de l'encodage Huffman; ce que j'utilise est essentiellement LZ, mais j'ai plus de surcharge que le format gzip.

Notez que c'est la première solution à prendre moins d' octets que la sortie.

Peter Taylor
la source
2

Bash / Sed, 206 caractères

Je n'ai pas réussi à battre Peter Taylor, mais comme sa solution, c'est moins d' octets que l'original. Mais je n'ai pas utilisé de caractères non imprimables.
seda été utile dans le défi similaire "pas d'étrangers au codegolf" . Mais là je l'ai utilisé deux fois, pour compresser la liste des remplacements. Ici, le texte est trop court pour cette astuce.

sed 's/Z/May the /;s/W/ uponYr f/;s/Y/ you/'<<X
Zroad rise up to meetY
Zwind be always atYr back
Zsun shine warmWace
The rains fall softWields
And until we meet again
May God holdY in the hollow of His hand
ugoren
la source
2

PHP, 431 425 octets

<?php $s="May therodisupm\nwnblckfTAgGH";$p=array('01234563','3cd8h328c73m','jj','3e6643');$b=str_split('s781937ab63cd348v28cfsgah93i631jg12b314328c73i1klfsbch3b5ah63g17et1k6fn56371ahb3m1u3b8m4ta6j9bfoh93ch4aj3g6v1p1ahf0123q89358j9328c3ah3456358u8g38m3rab351h9');foreach($b as $x){$x=b($x);if($x>27){$c=str_split($p[$x-28]);foreach($c as $y){echo $s[b($y)];}}else{echo $s[$x];}}function b($a){return base_convert($a,36,10);}

Une approche de cartographie et de conversion de base pour stocker les informations. Cependant, je n'ai pas réussi à garder la taille du programme très petite.

mauris
la source
1

Haskell - 284

s n=words"And God His May The again always at back be face fall fields hand hold hollow in meet of rains rise road shine soft sun the to until up upon warm we wind you your"!!(fromEnum n-48)
main=mapM_(putStrLn.unwords.map s)$words"3IEDLJAQ 3IP967R8 3IHFNMR: 4C;GMR< 0KOA5 31>Q@I?B2="

Malheureusement, cela est beaucoup plus long que la sortie ou la mise mot pour mot de la chaîne. Même les littéraux de chaîne eux-mêmes (sans guillemets) totalisent deux caractères de plus que l'entrée. Comment est-ce possible?

Joey Adams
la source
1

Quetzalcoatl , 218 octets

"May the road rise up to meet you\nMay the wind be always at your back\nMay the sun shine warm upon your face\nThe rains fall soft upon your fields\nAnd until we meet again\nMay God hold you in the hollow of His hand"

Les chaînes sont implicitement imprimées.

Ou pyth, 217 octets

"May the road rise up to meet you\nMay the wind be always at your back\nMay the sun shine warm upon your face\nThe rains fall soft upon your fields\nAnd until we meet again\nMay God hold you in the hollow of His hand
Il n'y a personne
la source
1

Fût , 175 caractères

‘3p‘®m‘00‘®t¶©m  ©t  2½;4•;up to 2m;you\n©m  ©t  2⬩;be 0Ȧ;at 0B;0∞;\n©m  ©t  sun kƝ;4Ȧ;0M;0B;0Ƚ;\nThe A④;2÷;4l;0M;0B;8R;\nAnd 0🄄;we 2m;0¡;\n©m  God 1④;you in ©t  dɅ;of His 0║;

Dieu merci, tous les longs mots sont dans le dictionnaire de Keg. Utilise simplement la compression de chaîne pour réduire la longueur.

TIO ne fonctionne pas actuellement car il doit être mis à jour.

Essayez-le en ligne!

Lyxal
la source
0

Troglodyte , 248 octets

Adopter cette méthode.

System.print("Zroad rise up to meetY\nZwind be always atYr back\nZsun shine warmWace\nThe rains fall softWields\nAnd until we meet again\nMay God holdY in the hollow of His hand".replace("Z","May the ").replace("W"," uponYr f").replace("Y"," you"))

Essayez-le en ligne!


la source