Par exemple, je voudrais activer Jusqu'à présent, j'ai créé une liste vide, utilisée "bonjour" code> dans la liste
(104, 101, 108, 108, 111) code> ou
liste ("h "," E "," L "," L "," O ") CODE> P>
foreach code> et annexé chaque élément dans la liste moi-même, mais ce n'est pas vraiment une façon concise de le faire. P>
4 Réponses :
Une manière d'utiliser Regex Addon:
Sequence asList := method ( Regex self allMatchesOfRegex(".") map (at(0)) ) # now its just myList := "hello" asList
C'est une solution créative, mais pas vraiment mieux non :)
C'est mieux que foreach code> car aucun kittens ^ h ^ h ^ h ^ h ^ h ^ h ^ h de variables ont été blessés ou tués dans sa construction :)
Pas beaucoup d'IO-POLKS suspendus sur Stackoverflow apparemment (ou n'importe où à ce sujet). +1 pour l'enthousiasme :)
Ceci est au-delà de vieux. Cependant, je ne trouve aucune réponse dans la manière d'inclure un complément. Comment puis-je ajouter exactement le module REGEX.
@Rig - Add-on regex est livré avec io. Il y a eu des problèmes dans le passé l'obtenir pour compiler mais je pensais que c'était corrigé (bien que je n'ai pas essayé pendant un moment!).
Oui, je ne suis pas sûr. Je n'ai pas été capable de comprendre comment l'obtenir disponible pour une utilisation. Tout ce que j'ai vraiment, c'est leur site et le livre 7 langues comme guide. Peut-être qu'il y a une sorte de déclaration d'importation que je n'ai pas vraiment vue énumérées?
@Rig - regex code> importe l'add-on (c.-à-d. Ajoute les méthodes nécessaires à l'objet de séquence). Essayez-le dans Rem Reply et vous devriez voir quelque chose comme ça - Github.com/stevedekorte/ io / Problèmes / 210 # Issuecomment-20550324 NB. Si vous obtenez une erreur tout en utilisant une méthode de regex, vérifiez le fil complet dans ce lien.
J'allais juste demander où trouvons-nous la liste des addons à jour mais Hélas vient de regarder Github! Merci ya'll.
Ma propre suggestion:
Sequence asList := method( result := list() self foreach(x, result append(x) ) )
Oui foreach code> sera beaucoup plus performant. Cependant, il est moins concis. Espérons qu'une solution performante concise est là-bas?
Quelque chose de similaire à cette approche est utilisé dans l'un des tests (voir ByTelist): github.com/stevedekorte/io/blob/master/libs/iovm/tests/...
Un peu de vitesse: résultat: = Liste () PreAllocaTosize (taille de soi) code>
Pour moi, cela ne s'exécute pas, je l'ai changé en Séquence Aslist: = Méthode (résultat: = Liste; auto-poule (x, résultat append (x))) code>. La différence n'est pas énorme mais pour quelqu'un comme moi qui n'est pas familier aux messages d'erreur de la syntaxe IO et d'exécution, il était très difficile de trouver pourquoi il échoue ...
Un autre joliment concis mais toujours malheureusement plus lent que la solution foreach code> est:
J'ai Langue de programmation io, c. 20110905 méthode et méthode
aslist code> est défini par défaut, vous pouvez donc l'utiliser sans de nouvelles définitions forte> . Ensuite, vous pouvez obtenir des codes de caractères avec
mapper code> méthode.
Vous VRAIMENT B> Je ne veux pas savoir ce que vous devez utiliser pour convertir une chaîne en une liste dans la chaîne de ski. ;-)
lol .. si je crée un langage de programmation assez sérieux, je promets de nommer l'hel :)
Off thème mais pertinent pour les questions IO ici. J'ai annulé vos éditions que vous avez récemment fait parce que
iolanguage code> est la balise canonique pour io.
BTW, bonne question! Je me suis gratté ma tête pendant un moment. Je pense qu'un
aslist code> serait un bon ajout à la séquence principale code> objet code>.
Malheureusement,
"Hello" Split code> et
"World" Split ("") code> Les deux ne fonctionnent pas comme prévu.
Aux électeurs du Down de mes deux réponses: la question visait à essayer de donner une réponse concise sans utiliser de liste / foreach vide :( pour la performance utilisant la liste vide / foreach est clairement optimale :)