Italia
Wünsche und Anregungen

Wunsch: Explode (openArrays)

 
- Page 1 -


Ich wünsche mir:

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

naturalmente 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]

end
/a>

gibt aus:


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



 
- Page 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]e>


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]e>


Die Syntax wäre in XProfan unmöglich, da es (wie in den meisten Di base-Dialekten) durchaus ein Array S$[] und einen String S$ geben kann. S$[n%] wäre dann also nicht eindeutig. Allerdings potuto 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.

Saluto
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]e>

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$)re>
 
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.

Saluto
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  
 



 
- Page 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.

Saluto
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 trasferimento 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.

Saluto 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 naturalmente sehr bewegend! Klasse!
 
04.12.2007  
 




Jörg
Sellmeyer

- Arrays (dynamische und fixe) können als Parameter einer Prozedur trasferimento 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  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

10.780 Views

Untitledvor 0 min.
Selmo01.08.2023
Sven Bader13.11.2021
H.Brill11.09.2016
Andreas Koch09.12.2011
Di più...

Themeninformationen

Dieses Thema hat 3 subscriber:

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


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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