Briefing
Les extraterrestres se sont installés sur terre et, curieusement, leur alphabet est exactement le même que le nôtre. Leur langage est également très similaire au nôtre avec des différences très distinctes et faciles à calculer.
Défi
Prenez une chaîne et affichez léquivalent linguistique de lalien. La traduction fonctionne comme telle :
Échangez toutes les voyelles du mot avec le correspondant:
Vowel | With --------+-------- a | obo e | unu i | ini o | api u | iki
Vous pouvez également écrire un autre traducteur pour traduire Alien -> Anglais, cest facultatif cependant.
Exemples
Input: Shaun Output: Shoboikin Input: Java Output: Jobovobo Input: Hello, World! Output: Hunullapi, Wapirld!
Si la voyelle est en majuscule, vous mettez la première en majuscule lettre ..
Input: Alan Output: Obolobon Input: Australia Output: Oboikistroboliniobo
Règles
- Des échappatoires standard sappliquent
- Doit fonctionner pour le texte qui en contient lignes
-
Vous pouvez écrire une fonction, un lambda ou un programme complet
Capingrobotikilobotiniapins apin wrinitining thunu runuvunursunu trobonslobotapir!
Commentaires
Réponse
Haskell, 100 91 octets
(>>= \x->last$[x]:[y|(z:y)<-words"aobo eunu iini oapi uiki AObo EUnu IIni OApi UIki",z==x])
Commentaires
- Hoboskunull sûrement
Réponse
TI-Basic, 173 + 59 + 148 = 380 octets
Espérons que les extraterrestres utilisent TI- 83/84 calculatrices;)
Programme principal, 173 octets
BONUS: Conservez la deuxième ou la troisième ligne selon que vous voulez un traducteur normal ou inversé.
"("+Ans+")→Str1 "@a~obo@A~Obo@e~unu@E~Unu@i~ini@I~Ini@o~api@O~Api@u~iki@U~Iki@→Str2 <-- English to Alien "@obo~a@Obo~A@unu~e@Unu~E@ini~i@Ini~I@api~o@Api~O@iki~u@Iki~U@→Str2 <-- Alien to English For(I,2,length(Ans If "@"=sub(Str2,I-1,1 Then Str1+"~"+sub(Str2,I,inString(Str2,"@",I)-I prgmQ Ans→Str1 End End
Sous-programme (prgmQ
), 59 octets:
Ans→Str9 inString(Ans,"~ sub(Str9,Ans,length(Str9)-Ans+1→Str8 Str9 prgmR Repeat Str9=Ans+Str8 Ans+Str8→Str9 prgmR End
Sous-programme (prgmR
), 148 octets:
Ans→Str0 inString(Ans,"~→Z inString(Str0,"~",Ans+1→Y inString(sub(Str0,1,Z-1),sub(Str0,Z+1,Ans-Z-1→X sub(Str0,1,-1+inString(Str0,"~ If X sub(Str0,1,X-1)+sub(Str0,Y+1,length(Str0)-Y)+sub(Str0,X+length(sub(Str0,Z+1,Y-Z-1)),Z-X-length(sub(Str0,Z+1,Y-Z-1
PS ~
représente le jeton 0x81
et @
représente le jeton 0x7F
, en savoir plus ici .
PPS Une partie de la raison pour laquelle ces programmes ont un nombre doctets élevé est que sub(
, inString(
, length(
, et toutes les lettres minuscules sont de deux octets chacune …
Commentaires
- Je pense que vous avez mélangé
prgmR
etprgmQ
dans vos titres de code une fois? - Oui, merci davoir attrapé ça @ByteCommander 🙂
Réponse
Perl, 56 octets
Inclut +1 pour -p
Donner une entrée sur STDIN
alien.pl
:
#!/usr/bin/perl -p s%\w%"`"&$&|("A\x0fboE\x15nuI\x09niO\x01piU\x09ki"=~/\u$&\K.../,$&)%eg
Fonctionne comme indiqué, mais remplacez les échappements \xXX
par le caractère réel pour obtenir le score réclamé
Commentaires
- +1 Voté uniquement pour lavatar Alien. Je plaisante, la solution est bien aussi.
- Jésus-Christ .. Perl à son meilleur, mesdames et messieurs.
Réponse
sed 89
s,a,&b\n,gi s,i,&n\r,gi s,o,&p\r,gi s,u,&k\r,gi s,e,&n\f,gi y,aeouAEOU\n\r\f,ouaiOUAIoiu,
Commentaires
- Est-ce fonctionne pour une entrée qui contient des nouvelles lignes?
- @Jordan Oui. sed lit » une ligne à la fois « . Donc, il va tout traiter jusquà la première nouvelle ligne, limprimer, imprimer une nouvelle ligne, puis recommencer sil y a plus de texte.
- Ah, bien sûr. 👍🏻
- @Jordan Ce nétait pas ‘ une règle quand jai écrit ceci, mais cela a quand même fonctionné.
Réponse
Python, 99 95 93 octets
lambda s:"".join(("ouiaiOUIAI bnnpkbnnpk ouiiiouiii"+c)["aeiouAEIOU".find(c)::11] for c in s)
Assez simple. Prenez simplement lindex dans lequel nous trouvons chaque caractère dans la liste des voyelles et utilisez-le pour extraire les trois caractères dont nous avons besoin.Sil « nest pas trouvé, .find()
renvoie -1
donc il suffit de coller le caractère courant à la fin de la chaîne. Les espaces sont donc nécessaires toute lettre "a"
ninclut pas le c
ajouté. Les voyelles traduites sont regroupées par ordre alphabétique (la première lettre de chaque traduction, puis la deuxième, puis la troisième).
Commentaires
- Wow, belle approche créative. Je ‘ suis impressionné 🙂
- Vous pouvez supprimer lespace dans
["aeiouAEIOU".find(c)::11] for
Réponse
05AB1E , 28 27 20 octets
žÀ.•₅%~≠#ùÛãú•3ôD™«‡
Unuxplobonobotiniapin
žÀ # the string "aeiouAEIOU" .•₅%~≠#ùÛãú• # the string "obounuiniapiiki" 3ô # split in pieces of 3 D™« # concatenate with a title-case copy ‡ # transliterate
Commentaires
- Ini lapivunu gapilfining!
- @BasicallyAlanTuring: Il ma fallu beaucoup trop de temps pour traduire cela dans ma tête. Je pense que jai besoin dun traducteur inversé: P
- Allez-y, ne devrait ‘ pas être trop difficile: P
- Effrayant, je pense il dit que jaime le golf.
- Jai ‘ changé ma question, ce qui rend votre réponse invalide. Cela doit fonctionner avec de nouvelles lignes
Answer
PHP, 91 octets
<?=strtr($argv[1],[A=>Obo,E=>Unu,I=>Ini,O=>Api,U=>Iki,a=>obo,e=>unu,i=>ini,o=>api,u=>iki]);
Réponse
Python, 129 octets
lambda s:"".join([str,str.capitalize][ord(l)<91]({"a":"obo","e":"unu","i":"ini","o":"api","u":"iki"}.get(l.lower(),l))for l in s)
Voir le fonctionnement sur ideone.com
Voici « une version plus joliment formatée:
lambda s: \ "".join( [str, str.capitalize][ord(l) < 91]( {"a":"obo", "e":"unu", "i":"ini", "o":"api", "u":"iki"} .get(l.lower(), l) ) for l in s)
Les parties les plus intéressantes sont { ... }.get(l.lower(), l)
qui essaie de rechercher la lettre stockée dans l
convertie en minuscules dans le dictionnaire et renvoie soit la version traduite (si trouvée), soit la lettre originale,
et [str, str.capitalize][ord(l) < 91]( ... )
qui vérifie si la lettre originale était une majuscule ( Point de code ASCII inférieur à 91), puis appelle la fonction str()
avec la lettre comme argument (si elle nétait pas « ta majuscule, ne fait rien) ou str.capitalize()
(convertit la première lettre de la chaîne dargument en majuscules).
Réponse
C (gcc) , 150 141 136 134 octets
a;i;e(char*n){for(char*v=" AEIOUIAI",*t;i=*n++;printf(&a))t=index(v,i-i/96*32),a=t?t-v:0,a=a?v[a+3]|L" 潢畮楮楰楫"[a]<<8|i&32:i;}
Basé sur la réponse de @algmyr et -8 grâce à @ ASCII uniquement
Version moins golfée
a;i; e(char*n){ for(char*v=" AEIOUIAI",*t;i=*n++;printf(&a)) t=index(v,i-i/96*32), a=t?t-v:0, a=a?v[a+3]|L" 潢畮楮楰楫"[a]<<8|i&32:i; }
Commentaires
- 149?
a;l;i;e(char*n){for(char*v=" AEIOU",*t;i=*n++;printf("%c%c%c"+4*!a,(a?" OUIAI"[a]:i)|i&32," bnnpk"[a]," ouiii"[t=index(v,i-32*l),a=t?t-v:0]))l=i>96;}
- peut-être aussi 149:
a;l;i;e(char*n){for(char*v="AEIOU",*t;i=*n++;printf("%c%c%c"+4*!a,(a?" OUIAI"[a]:i)|i&32," bnnpk"[a]," ouiii"[t=index(v,i&95),a=t&&t-v<5?t-v+1:0]));}
- 144:
a;l;i;e(char*n){for(char*v=" AEIOU",*t;i=*n++;)printf("%c%c%c"+4*!a,a?" OUIAI"[a]|i&32:i," bnnpk"[a]," ouiii"[t=index(v,i-i/96*32),a=t?t-v:0]);}
Réponse
Lot, 215 octets
@echo off set/pt= set s= :l if "%t%"=="" echo(%s%&exit/b set c=%t:~0,1% for %%a in (obo.a unu.e ini.i api.o iki.u Obo.A Unu.E Ini.I Api.O Iki.U)do if .%c%==%%~xa set c=%%~na set s=%s%%c% set t=%t:~1% goto l
Prend une entrée sur STDIN. Le traitement caractère par caractère a lavantage dêtre sensible à la casse.
Commentaires
- Batch est juste le pire outil pour tout, isn ‘ t-il? (Au moins tu as battu TI-Basic 🙂 Au fait, cest bien de voir un codegolf dans Batch!
Answer
Pyth, 42 octets
#sXw"aeiouAEIOU"+Jc"obounuiniapiiki"3mrd3J
Un programme qui prend lentrée sur STDIN et imprime la sortie.
Comment ça marche
#sXw"aeiouAEIOU"+Jc"obounuiniapiiki"3mrd3J Program. # Loop until error statement: w Get w, the next line of the input "obounuiniapiiki" Yield string literal "obounuiniapiiki" c 3 Split that into groups of three characters J Assign that to J and yield J mrd3J Map title case over J + Merge the lower and title groups "aeiouAEIOU" Yield string literal "aeiouAEIOU" X Translate w from that to the three-character groups s Concatenate that Implicitly print
Réponse
C, 167 octets
I Je ne voulais vraiment pas briser mon habitude de toujours faire les fonctions principales lors du codage en C, mais cest nettement plus court que la version avec un main et de cette façon jai reçu une autre lettre pour épeler ce que je voulais!
Golfed
a;l;i;e(char*n){for(;i=*n++;l=i>90,i-=32*l,a=!(i-65)+2*!(i-69)+3*!(i-73)+4*!(i-79)+5*!(i-85),printf(a?"%c%c%c":"%c",(a?"HOUIAI"[a]:i)+l*32,"ibnnpk"[a],"!ouiii"[a]));}
Commenté
a;l;i; e(char*n) { for(; i = *n++; /* Get char and advance */ l = i>90, /* Is lowercase? */ i -= 32*l, /* Make uppercase */ /* Is 1,2,3,4,5 depeding on the vowel and 0 for no vowel */ a = !(i-65) + 2*!(i-69) + 3*!(i-73) + 4*!(i-79) + 5*!(i-85), printf(a?"%c%c%c":"%c", /* Print 1 or 3 chars? */ (a?"HOUIAI"[a]:i)+l*32, /* Print appropriate char+case */ "ibnnpk"[a], /* Print appropriate char */ "!ouiii"[a])); /* Print appropriate char */ }
Il y a quelque chose de spécial à propos de C et à quel point vous pouvez être avec des pointeurs et autres.
Commentaires
- 151 octets
- @ceilingcat I ‘ dis postez votre réponse seule. Il ‘ a suffisamment divergé pour mériter sa propre réponse. 🙂
Réponse
Retina , 60 octets
Le nombre doctets suppose le codage ISO 8859-1.
[A-Z] »$& T`L`l i ini u iki e unu a ·b· o api · o T`»l`_L`».
Réponse
Javascript (ES6), 94 93 92 octets
s=>s.replace(/[aeiou]/gi,c=>"OUIAIouiai"[n="AEIOUaeiou".search(c)]+"bnnpk"[n%=5]+"ouiii"[n])
Sauvé 1 octet grâce à edc65
Sauvé 1 octet grâce à Neil
Démo
let f = s=>s.replace(/[aeiou]/gi,c=>"OUIAIouiai"[n="AEIOUaeiou".search(c)]+"bnnpk"[n%=5]+"ouiii"[n]) function translate() { document.getElementById("o").value = f(document.getElementById("i").value); } translate();
<input size=80 oninput="translate()" value="Hello, World!"><br><input size=80 disabled>
Commentaires
- Pour vérifier la valeur de retour de
.indexOf
et.search
utilisez~
au lieu de<0
- Jai regardé pour voir ce qui se passerait si vous ne remplaçiez que les voyelles, et jai initialement eu
s=>s.replace(/[aeiou]/gi,c=>"ouiaiOUIAI"[n="aeiouAEIOU".indexOf(c)]+"bnnpk"[n%=5]+"ouiii"[n])
qui fait toujours 93 octets . Mais commec
est désormais connu pour être une voyelle, vous pouvez désormais utilisersearch
au lieu deindexOf
pour sauver un octet! - @Neil – Bien! Jai essayé les deux, en fait, mais je nai ‘ pas pensé à les combiner.
Réponse
Java 8, 172 octets
String f(String s){String v="AEIOUaeiou",r="OboUnuIniApiIkiobounuiniapiiki",o="";for(char c:s.toCharArray()){int n=v.indexOf(c);o+=n>-1?r.substring(n*3,n*3+3):c;}return o;}
non golfé:
String f(String s){ String v="AEIOUaeiou",r="OboUnuIniApiIkiobounuiniapiiki",o=""; for(char c:s.toCharArray()){ int n=v.indexOf(c); o+=n>-1?r.substring(n*3,n*3+3):c; } return o; }
Et Alien de retour en anglais (171 octets):
String g(String s){String[] v="AEIOUaeiou".split(""),r="Obo Unu Ini Api Iki obo unu ini api iki".split(" ");for(int i=0;i<v.length;i++)s=s.replaceAll(r[i],v[i]);return s;}
Ungolfed:
String g(String s){ String[] v="AEIOUaeiou".split(""),r="Obo Unu Ini Api Iki obo unu ini api iki".split(" "); for(int i=0;i<v.length;i++)s=s.replaceAll(r[i],v[i]); return s; }
Réponse
Tcl, 75 octets
La chaîne à traduire se trouve dans la variable s
.
string map {A Obo a obo E Unu e unu I Ini i ini O Api o api U Iki u iki} $s
Réponse
Mathematica, 128 octets
#~StringReplace~{"a"->"obo","A"->"Obo","e"->"unu","E"->"Unu","i"->"ini","I"->"Ini","o"->"api","O"->"Api","u"->"iki","U"->"Iki"}&
Je ne sais pas si un programme plus court peut être obtenu en utilisant IgnoreCase->True
avec une vérification de casse.
Réponse
C 178 octets
char*p[256],*a="obo\0unu\0ini\0api\0iki\0Obo\0Unu\0Ini\0Api\0Iki",*b="aeiouAEIOU";main(c){for(c=0;b[c];++c)p[b[c]]=a+4*c;for(;(c=getchar())>0;)p[c]?printf("%s",p[c]):putchar(c);}
Commentaires
- 153 octets
- @ceilingcat & c peut être ok sil enregistre le numéro sous octet1 octet2 octet3 … Par exemple 255 en mémoire sous la forme ff 00 00 00 mais sil y a lautre extrémité pour 255 nous avons 00 00 00 ff et imprimons la chaîne vide …
Answer
C, 163 162 159 octets
char*t="aeiou";n,k;q(char*x){for(;*x;n<0||(*x=t[n>1?n%2?0:2:n+3])&&k>90||(*x-=32),printf("%c%.2s",*x++,n<0?"":&"bonunipiki"[2*n]))n=strchr(t,tolower(k=*x))-t;}
Commentaires
- placer
char*t="aeiou";
dans la boucle for enregistre 1 octet - 144 octets
Réponse
C #, 133 121 octets
s=>{int i;return string.Concat(s.Select(c=>(i ="AIUEOaiueo".IndexOf(c))>-1?"OboIniIkiUnuApioboiniikiunuapi".Substring(i*3,3):c+""));}
Modifier (grâce à milk
)
merci 🙂 En fait, je connais cette surcharge mais je lai complètement oubliée en écrivant ceci ..
s=>string.Concat(s.Select((c,i)=>(i="AIUEOaiueo".IndexOf(c))>-1?"OboIniIkiUnuApioboiniikiunuapi".Substring(i*3,3):c+""));
Commentaires
- Vous pouvez utiliser la surcharge
Select(char, int)
pour ne pas ‘ déclareri
et peut tout mettre sur une seule ligne.s=>string.Concat(s.Select((c,i)=>(i="AIUEOaiueo".IndexOf(c))>-1?"OboIniIkiUnuApioboiniikiunuapi".Substring(i*3,3):c+""));
Réponse
C, 207 202 octets (merci à Cyoce)
#include <stdio.h> #define r(c,t) case c:printf(t);continue; int main(){int c;while(~(c=getchar())){switch(c){r("a","obo")r("e","unu")r("i","ini")r("o","api")r("u","iki")default:putchar(c);}}return 0;}
1) Je déteste omettre le type avant tout type de déclaration
2) Je naime pas vraiment mettre du code inutilisable (sans fonction main ())
Utilisation:
c89 cg.c -o cg; echo "Testing" | ./cg
Commentaires
- Bienvenue dans PPCG!
- @MartinEnder, ce ‘ est inattendu … mais merci 🙂
-
(c=getchar())!= EOF
peut devenir~(c=getchar())
- 143 octets
Réponse
Swift 2.2 196 octets
¯ \ _ (ツ) _ / ¯
Golfé
var r = ["a":"obo","e":"unu","i":"ini","o":"api","u":"iki"];var q={(s:String) in var o = "";for var i in s.lowercaseString.characters{o += r[String(i)] != nil ? r[String(i)]!:String(i)};print(o);}
non Golfé
var r = ["a":"obo","e":"unu","i":"ini","o":"api","u":"iki"] var q={(s:String) in var o = "" for var i in s.lowercaseString.characters { o += r[String(i)] != nil ? r[String(i)]!:String(i) } print(o) }
Commentaires
- Les espaces dans
var r = [
nécessaire? - Ouais dans lapplication Playgrounds si vous ‘ t mettez un espace entre une affectation, cela vous donne une erreur et vous dit dajouter des espaces . Swift est probablement lune des pires langues pour jouer au golf, mais jai pensé que ce serait amusant dessayer.
- Et cétait intéressant de ne pas ‘ me donner ça erreur lorsque jattribuais une variable à une fermeture. Doù lhomme haussant les épaules
- ouais je lai remarqué aussi. Cest ‘ pourquoi jétais confus.
Réponse
Perl 6 , 84 82 octets
{my%o=<a obo e unu i ini o api u iki>;S:i:g[<{%o.keys}>]=%o{$/.lc}.samecase($/~"a")}
{my%o=<a obo e unu i ini o api u iki>;S:i:g[<[aeiou]>]=%o{$/.lc}.samecase($/~"a")}
Développé:
# bare block lambda with implicit parameter 「$_」 { # create the mapping my %v = <a obo e unu i ini o api u iki>; # replace vowels in 「$_」 S :ignorecase :global [ <[aeiou]> ] = # replace them with: %v{ $/.lc } # change it to be the same case as what was matched, and a lowercase letter .samecase( $/ ~ "a" ) }
Utilisation:
my &english-to-alien = {my%o=<a obo e unu i ini o api u iki>;S:i:g[<[aeiou]>]=%o{$/.lc}.samecase($/~"a")} say english-to-alien "Australia"; # Oboikistroboliniobo
Réponse
C – 192 octets
(nouvelles lignes ajoutées pour plus de clarté)
int c,j,b;main(){ char*f[]={"bo","nu","ni","pi","ki",""}, s[]={14,16,0,-14,-12}; while(c=getchar()){for(b=j=0;j<10;++j) {if(c=="aeiouAEIOU"[j]){c+=s[j%=5];b=1;break;}} printf("%c%s",c,f[b?j:5]);}}
Il suffit de rechercher des tables et un commutateur booléen.
Recherche chaque lettre dans le tableau (chaîne) de voyelles; sil est trouvé, modifiez-le selon la règle du tableau s
. Imprimer chaque caractère suivi dune chaîne: si une voyelle a été trouvée, imprimer le caractère modifié par la valeur dans s
suivi du reste de la syllabe stockée dans la table f
; si aucune voyelle na été trouvée, imprimez le caractère original et une chaîne vide.
Commentaires
Réponse
Ruby, 102 93 91 88 78 octets
gsub(/[#{b="aeiouAEIOU"}]/){"obounuiniapiikiOboUnuIniApiIki"[b.index($&)*3,3]}
Explication:
Exécutez la ligne comme ruby -pe "gsub(/[#{b="aeiouAEIOU"}]/){"obounuiniapiikiOboUnuIniApiIki"[b.index($&)*3,3]}"
, type suivant, par exemple, Australia
il devrait afficher: Oboikistroboliniobo
.
Cest assez simple, remplacez toutes les voyelles par une sous-chaîne basée sur lindex de la voyelle à remplacer en (b), multiplié par 3 et les 3 caractères suivants dans la chaîne de traduction.
Commentaires
- Je soupçonne les guillemets de début et de fin (et les échappements internes si lentrée a des guillemets ) dans la sortie pourrait disqualifier cela. Quoi quil en soit, vous pouvez enregistrer deux octets en déplaçant laffectation de
b
dans lexpression rationnelle (/[#{b=...}/
). - Je pense que lespace
p $*
est inutile - Utilisez lindicateur
-p
pour enregistrer des octets supplémentaires.ruby -pe 'gsub(/[#{b="aeiouAEIOU"}]/){"obounuiniapiikiOboUnuIniApiIki"[b.index($&)*3,3]}'
- Je compte 78 + 2 (
-pe
). Comment obtenez-vous 71? - @NotthatCharles est-ce que les caractères nécessaires à lexécution comptent vraiment dans ce cas? Je viens de ‘ t les compter.
Réponse
TI-BASIC, 201 197 195 octets
Ans+" →Str1:"AEIOUaeiou→Str2:"OUIAIouiai→Str3:"bonunipiki→Str4:1→X:While X<length(Str1:inString(Str2,sub(Str1,X,1→A:5fPart(.2A→B:If A:sub(Str1,1,X-1)+sub(Str3,A,1)+sub(Str4,2B-1,2)+sub(Str1,X+1,length(Str1)-X→Str1:X+1+2(A>0→X:End:sub(Str1,1,length(Str1)-1
Penser que je « trouverais un autre TI -BASIC answer here!
Quoi quil en soit, lentrée est une chaîne anglaise dans Ans
.
La sortie est la chaîne traduite.
Exemples:
"HE HE prgmCDGF1A HUnu "Hello Hello prgmCDGF1A Hunullapi
Explication:
(Nouvelles lignes ajoutées pour plus de lisibilité. Plusieurs lignes de la même ligne seront signalées par :
dans le bloc de code suivant.)
Ans+" →Str1 ;append a space to the input string and store the result ; in "Str1" "AEIOUaeiou→Str2 ;store the upper- and lowercase vowels in "Str2" "OUIAIouiai→Str3 ;store the beginning letter of each corresponding translated ; vowel in "Str3" "bonunipiki→Str4 ;store the remaining letters of each translated vowel ; in "Str4" 1→X ;store 1 in "X" While X<length(Str1 ;loop until all English letters have been checked inString(Str2,sub(Str1,X,1→A ;get the current letter and store its index in "Str2" ; into "A" 5fPart(.2A→B ;get which translated vowel end should be used ; B ranges from 1 to 5 If A ;if the current letter is a vowel sub(Str1,1,X-1) ;extract the substring of the input before the ; current letter : +sub(Str3,A,1) ;append the translated vowel start : +sub(Str4,2B-1,2) ;append the translated vowel end : +sub(Str1,X+1,length(Str1)-X ;append the remaining substring of the input : →Str1 ;store the result of these concatenations into "Str1" X+1+2(A>0→X ;check if A>0 (if the current letter was a vowel) ; if true, increment "X" by three ; if false, increment "X" by one End sub(Str1,1,length(Str1)-1 ;remove the trailing space and store the result in "Ans" ;implicit print of "Ans"
Remarques:
-
TI-BASIC est une langue à jetons. Le nombre de caractères ne pas nombre doctets égal.
-
Les lettres minuscules dans TI-BASIC sont de deux octets es chacun.
Anglais est censé signifier. Pouvons-nous écrire le traducteur inversé au lieu du traducteur normal?