Diskussion:INSERT
Aus C64-Wiki
Zur Navigation springenZur Suche springenParameter pos[Quelltext bearbeiten]
Kann der Parameter pos nicht auch den Wert LEN(<altstring>) (statt wie derzeit angegeben (LEN(<altstring>)-1) ) annehmen (d.h. nach dem letzten Zeichen wird angehängt)? Das wäre logisch ... --JohannKlasek (Diskussion) 04:06, 10. Feb. 2020 (CET)
- Nein, dann kommt ein insert too large error. Es heißt ja auch *insert* (einfügen), nicht *append* (das machst du weiterhin mit "+". --GoDot (Diskussion) 14:10, 10. Feb. 2020 (CET)
- Ja schon, trotzdem wurde der Index 0 "eingeführt" der ebenso ein *append* macht:
C$=INSERT(A$,B$,0)
entspricht dochC$=A$+B$
Warum dann nicht auchINSERT(B$,A$,LEN(A$))
?
Die Einschränkung auf LEN(A$)-1 zerstört gewissermaßen die durchgehende Bedeutung des Parameters "pos", welcher ja auszusagen scheint, dass die einzufügende Zeichenkette nach der pos-ten Stelle eingefügt wird. Da irritiert der "Sonderfall", dass ausgerechnet für pos = LEN(A$) das nicht geht und mit A$ + B$ gesondert behandelt werden muss. Das ist freilich ein Horror, wenn man im sonst schon langsamen BASIC sich auch noch um gewisse Sonderfälle kümmern muss. Schade. :( --JohannKlasek (Diskussion) 12:27, 10. Feb. 2020 (CET)
- Ja schon, trotzdem wurde der Index 0 "eingeführt" der ebenso ein *append* macht:
- Ich nehm das mal als Vorschlag, dieses Verhalten zu ändern... Danke erstmal! Ich melde mich dann! --GoDot (Diskussion) 14:09, 10. Feb. 2020 (CET)
- Danke! --JohannKlasek (Diskussion) 14:32, 10. Feb. 2020 (CET)
- Ich nehm das mal als Vorschlag, dieses Verhalten zu ändern... Danke erstmal! Ich melde mich dann! --GoDot (Diskussion) 14:09, 10. Feb. 2020 (CET)
Jepp, und fertig! Ich hab dann gleich noch entdeckt, dass Leerstrings in String2 auch nicht aufgefangen werden. Ist auch erledigt. Und noch 8 Bytes Platz gewonnen... --GoDot (Diskussion) 00:05, 11. Feb. 2020 (CET)
- Yeah, genial. Danke! Schau schau, auch noch kürzer.
Genau, das ist natürlich das Folgeproblem, wenn b$ leer ist, dann ist 0..(len-1) ein imaginäres Intervall ... super, dass das auch jetzt bereinigt ist! --JohannKlasek (Diskussion) 00:11, 11. Feb. 2020 (CET)