Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Haltestellen eindeutig im script bestimmen
#8
Die methode ist korrekt als _cmp eingebunden. Man kann diese nur nicht direkt aufrufen.
Code:
b1 = (halt1 <=> halt2) == 0 // ruft intern _cmp auf
b2 = halt1._cmp(halt2) // error _cmp not found
Diese Metamethoden werden intern nicht wie 'normale' Klassen-funktionen gespeichert. Diese Methoden sind dazu da, Operatoren zu ueberladen (wie in C++), d.h. diese Methoden werden intern aufgerufen, wenn Vergleiche (_cmp), Addition (_add) etc gemacht werden.

Das bloede ist halt, dass man die Abfrage auf Gleichheit (== ) nicht direkt ueberladen kann:
Code:
a  = { x=1 }
b = { x=1 }
c = a
print( a==b ) // false!
print( a==c)  // true!
a.x=2
print( a==b ) // false!
print( a==c)  // true!
Bei == wird tatsaechlich nur geprueft, ob es sind um ein und dasselbe Object handelt. In obigen Beispiel sehen a und b zwar gleich aus, sind aber intern zwei verschiedene Tabellen. Durch die Zuweisung c=a ist aber c dann die gleiche Tabelle wie a.

Die Variable id habe ich extra nicht dokumentiert. Die Variable wird benutzt, um Skript-intern dann das zugehoerige C++ Objekt zu finden. Wenn man id veraendert, bekommt man eine andere Haltestelle geliefert...
Zitieren


Nachrichten in diesem Thema
Haltestellen eindeutig im script bestimmen - von ny911 - 14-10-2014, Tuesday-13:53:50
[Kein Betreff] - von prissi - 14-10-2014, Tuesday-20:09:12
[Kein Betreff] - von prissi - 15-10-2014, Wednesday-00:32:21
[Kein Betreff] - von ny911 - 16-10-2014, Thursday-00:30:11
[Kein Betreff] - von ny911 - 20-10-2014, Monday-12:28:55
[Kein Betreff] - von Dwachs - 22-10-2014, Wednesday-22:16:33
[Kein Betreff] - von ny911 - 23-10-2014, Thursday-00:32:55
[Kein Betreff] - von Dwachs - 23-10-2014, Thursday-09:00:17
[Kein Betreff] - von ny911 - 23-10-2014, Thursday-21:57:58
[Kein Betreff] - von Dwachs - 24-10-2014, Friday-17:53:22
[Kein Betreff] - von ny911 - 25-10-2014, Saturday-15:49:44

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste