| |
|
|
| Bisher wurden Arrays comme Prozeduren-paramètre byRef statt byVal transfert, alors seulement qui Adresse statt une Kopie. c'est zwar plus rapide, peux mais trop inattendu Ergebnissen mener dans einer léger trop erlernenden Discours.
maintenant volonté Arrays comme Prozeduren-paramètre standardmäßig byVal transfert, ausgenommen on mets un @ avant den Variablennamen dans qui Parameterdeklarationsanweisung:
Standard, byVal:
si byRef erwünscht (plus rapide):
sur paramètre, qui pas vom Typ Array transfert volonté, hat @ keinen Einfluss, cependant wird qui Prüfung pour cette paramètre sur une Array-Kopie beim mettons des @-Zeichens abgeschaltet.
chez Funktionen, chez denen es sur höchste Geschwindigkeit ankommt, ist alors une Optimierung per @ pour jeden paramètre avec einzubeziehen.
attention:
une ähnliche piège ist simple Zuweisen Array=Array:
var a b=[10 20 30]
a=b
a[0]=55
imprimer b// zeigt 55,20,30 quoique b syntaktisch pas manipuliert wurde
voudrais on une Kopie de einem Array pour solch Zuweisungen, ensuite peux pour qui Funktion arr verwendet volonté:
|
|
|
| |
|
|
|
HofK | si @paramètre dans qui Prozedurdefinition cette paramètre comme "At resse" -Schreibfehler bewußt- übergibt, alors qui référence sur den paramètre, sollte on meinen, dass a=b pour arrays aussi qui Kopie de b pour a bringt et ensuite a=@b qui référence übergibt. avec cela bräuchte on ici ne...aucune arr().
quoi spricht dagegen? quoi übersehe je dabei? |
|
|
| |
|
|