Deutsch
Wünsche und Anregungen

Wunsch: Explode (openArrays)

 
- Seite 1 -


Ich wünsche mir:

Im Bezug darauf das es ja nun in X11 die OpenArrays gibt nochmal der Wunsch nach explode (und count!).

natürlich kann statt count auch sizeOf fungieren
KompilierenMarkierenSeparieren
declare a$[]
declare s$
s$=http://xprofan.com/test/
a$=explode(/,s$)

whileloop count(a$)-1

    print &loop,a$[&loop]

endwhile


gibt aus:


0 http:
1
2 xprofan.com
3 test
4
 
28.10.2007  
 



 
- Seite 1 -


Jörg Sellmeyer
Der Umweg ist nicht von mir vorgeschlagen, sondern lediglich bedauernd festgestellt worden


I nu.
 
28.10.2007  
 



For Show: [...] 
 
28.10.2007  
 




Jörg
Sellmeyer

Ist delimiter ein leerer String (), so gibt explode() FALSE zurück.


Da wäre es ja noch cool, wenn Del$ = ein Array aus Einzelbuchstaben ergibt. Obwohl mir so auf Anhieb auch keine Verwendung dafür einfiele...
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
29.10.2007  
 



Mir schon! Wobei ich meinen würde das explode mit nur einem Parameter dies tun sollte.

Der Vorteil ist klar wenn Du etwas parsen möchtest. Du musst nicht ständig mit mid$(blub,pos,1) das Char ermitteln und MID jedes Mal neu beauftragen im String rumzurutschen, sondern es wird einmalig zerlegt und DirektZugriff auf ein Char ist syntaktisch einfach mgl.

Roland sollte eh folgendes ermöglichen:
KompilierenMarkierenSeparieren
var s$=hallo
print s$[1]


a
 
29.10.2007  
 




RGH
iF
Mir schon! Wobei ich meinen würde das explode mit nur einem Parameter dies tun sollte.

Der Vorteil ist klar wenn Du etwas parsen möchtest. Du musst nicht ständig mit mid$(blub,pos,1) das Char ermitteln und MID jedes Mal neu beauftragen im String rumzurutschen, sondern es wird einmalig zerlegt und DirektZugriff auf ein Char ist syntaktisch einfach mgl.

Roland sollte eh folgendes ermöglichen:
KompilierenMarkierenSeparieren
var s$=hallo
print s$[1]


Die Syntax wäre in XProfan unmöglich, da es (wie in den meisten BASIC-Dialekten) durchaus ein Array S$[] und einen String S$ geben kann. S$[n%] wäre dann also nicht eindeutig. Allerdings könnte ich mir eine Funktion zur Ermittlung exakt eines Zeichens vorstellen, etwa SubStr$, wenn der Delimiter ein Leerzeichen ist, bzw. der Parameter nicht vorhanden ist: SubStr$(S$, n%). Das würde im Übrigen zur Logik der anderen Stringbearbeitungsfunktionen mit wahlweisem Delimiter passen.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
30.11.2007  
 



Der Wunsch nach
KompilierenMarkierenSeparieren
var s$=hallo
print s$[1]

ist absolut zu vernachlässigen. Viel wichtiger wäre ein Explode - wie folgt:
KompilierenMarkierenSeparieren
declare a$[],s$
s$=Sehr geehrte Damen und Herren,
a$[]=explode( ,s$)
 
30.11.2007  
 



Nachtrag zum Thema Substr mit nur einem Parameter: Ich würde mich hieran orientieren: [...] 
 
30.11.2007  
 




RGH
Hm, das PHP-Substr entspricht doch eher dem mid$() (= substr(String, Start, Länge)) bzw. right$() (= substr(String,Start))

BTW: Dein Link funktioniert zur Zeit nicht.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
30.11.2007  
 



 
- Seite 2 -



RGH
iF
Viel wichtiger wäre ein Explode


Ja, das würde aber dann entsprechend der übrigen XProfan-Syntax eher MoveArrToStr() und MoveStrToArr() heißen.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
30.11.2007  
 




RGH
Ok, die letzten Tage habe ich mich dem Thema Arrays gewidmet:

In der nächsten XProfan-Version wird es geben:

- A$[] = explode(text$, delimiter$) explode liefert ein dynamisches Stringarray zurück. A$[] muß daher ein dynamisches Stringarray sein
- A$[] = B$[] Ein Array kann einem anderen zugewiesen werden, wenn es den gleichen Typ und die gleichen Dimensionen hat, bzw. beide dynamisch sind.
- Arrays (dynamische und fixe) können als Parameter einer Prozedur übergeben werden
- Return A$[] eine Prozedur kann ein Array zurückgeben

Ein weiterer Befehl ist noch in Planung.
Außerdem gibt es bei negativem Arrayindex keinen Absturz mehr, sondern eine Fehlermeldung.

Gruß Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
04.12.2007  
 



Hatte mich zwar schon fast an das MoveStrToArr gewöhnt aber besonders die Übergabe von Arrays per Return-Wert und per Parameter ist natürlich sehr bewegend! Klasse!
 
04.12.2007  
 




Jörg
Sellmeyer

- Arrays (dynamische und fixe) können als Parameter einer Prozedur übergeben werden
- Return A$[] eine Prozedur kann ein Array zurückgeben


Großartig!
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.12.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

10.793 Betrachtungen

Unbenanntvor 0 min.
Selmo01.08.2023
Sven Bader13.11.2021
H.Brill11.09.2016
Andreas Koch09.12.2011
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

iF (8x)
RGH (4x)
Jörg Sellmeyer (4x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie