[Monkey] Left Right Stringmanipulationen
Übersicht

![]() |
MidimasterBetreff: Left Right Stringmanipulationen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich schreibe mal als erster rein, weil ich grad was herausgefunden habe. (Vielleicht ist es ja profan, aber vielleicht nützt es ja dem einen oder anderen, der von BB oder BMax kommt.
In MONKEY gibt es keine LEFT$ oder RIGHT$ Befehle wie: BlitzMax: [AUSKLAPPEN] T$="asdfgh" Vielmehr muss dieser Befehl über ein virtuelles Array nachgebildet werden: BlitzMax: [AUSKLAPPEN] Local T$="asdfgh" Alles von links bis zum vorletzen Zeichen: BlitzMax: [AUSKLAPPEN] Local T$="asdfgh" Der Ersatz für RIGHT lautet dann: BlitzMax: [AUSKLAPPEN] Local T$="asdfgh" Aber auch das geht: Alles ab dem 2.Zeichen bis zum Ende wie Mid(T,1,-1) BlitzMax: [AUSKLAPPEN] Local T$="asdfgh" man beachte das die Zählung bei 0 beginnt! Wer den ASCII des Zeichen an der 3. Stelle im String benötigt, schreibt statt... BlitzMax: [AUSKLAPPEN] Local T$="asdfgh" man beachte das die Zählung bei 0 beginnt! Daher sieht der Mid$ vom 3. bis zum 5.Zeichen dann so aus: BlitzMax: [AUSKLAPPEN] Local T$="asdfgh" Zunächst wird der String auf 5 Zeichen von links gekürzt "asdfg" und dann ab der Stelle 2 (=3.Zeichen) zu "dfg" gekürzt. |
||
- Zuletzt bearbeitet von Midimaster am Fr, März 11, 2011 12:41, insgesamt einmal bearbeitet
![]() |
Lobby |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sehr schön, aber so neu scheint das im Hinblick auf BlitzMax dann doch wieder nicht zu sein. Es ist im Übrigen bereits dort längst empfohlen, auf die Befehle Left, Mid, Right usw., wie sie in BRL.Retro definiert werden, zu verzichten. Das mit den negativen Indizes ist zwar neu, aber der Rest scheint einfach von BlitzMax übernommen worden zu sein.
Fachbegriff: Slices Es gefällt mir sehr gut, dass Monkey den Anwender hier dazu zwingt, mit Slices zu arbeiten. Das macht mir die Sprache dann doch zumindest ein kleines bisschen sympathisch. |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
Macintosh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sagt mal gibts in "monkey" immernoch die zeichen wie: $ % # für string, int und float?
whäääää ;| aber das mit den slices ist wie gesagt nichts neues. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich fasse zusammen:
So manche ''beschweren'' sich gegen BlitzBasic und Co. deswegen, weil BlitzBasic so blöde veraltete Eigenschaften hat, Schleifen und Bedingungen mit einem Next bzw. EndIf abschließen zu müssen. Begründung: Das würde zuviel Schreibarbeit abverlangen, ein einfaches } sei ja viel besser. Nun hat BlitzBasic etwas - um Variablentypen einfach zu bestimmen - statt komplett :int, :float und :string auszuschreiben, eine sehr verkürzte Form %, # und $. Und wieder haben hier einige was zu meckern. Manchmal bin ich mir nicht sicher, ob die Leute überhaupt wissen was sie wollen... - - - Zum Thema: Ich freue mich wirklich über Monkey. Ich habe mir sogar zum Teil auch deswegen gestern ein Galaxy S geholt, um genau so etwas auch live testen zu können. Im Moment spiele ich aber eher so damit rum, als das ich was ernsthaftes mit mache. Nur zur Info, vorher hatte ich ein Simvalley INOX -Telefon für 26€ (die teuere Limited -Edition ''n° 28,656'' in weiß) gehabt. lol Also mal sehen was wird... |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bist du sicher, dass das dieselben Leute sind?
Ich z.B. habe mich unter Garantie noch nie über EndIfs beschwert. |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Diese Shorthands sind meiner Meinung nach richtig hübsch. Vor allem bei booleans wirkt das Fragezeichen als eine sehr sinnhafte Sache:
Method isEmpty?() end sieht doch tausend mal hübscher aus als Method isEmpty:Boolean() end Außerdem beeinflussen sie den Lesefluss nicht im Geringsten, da sie ja eben keine Doppeldeutigkeiten haben (Die Zeichen haben nur EINE Bedeutung) und nebenbei kann man wenn man sie nicht will einfach via Replace("%",":Int") ersetzten... (was wahrscheinlich Monkey intern auch macht). |
||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
aber nicht jeder Programmiert in BMax ..... selbst wenn er es hat. Mir scheint der einstig in Monky recht einfach. Aber dieser Classen kram ...... ich glaube ich bin zu alt für diesen scheiss ....... aber ich werde trotzdem mal abklären in wie weit sich damit was machen läst. Gruss TFT PS Was ist "Slices" |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Slices sind genau das, was du im 1. Beitrag in den Codeboxen siehst.
Zitat: Local T$="asdfgh"
Also Ausschnitte aus Arrays bzw. Strings.
Local S$ = T[2..5] Klassen sind übrigens kein "Scheiß", sondern extrem nützlich bei jedem einigermaßen komplizierten Programm, wenn man seinen Code flexibel und verständlich halten möchte. ![]() |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group