BMX und Mehrfachzuweisungen
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
billykaterBetreff: BMX und Mehrfachzuweisungen |
Fr, Jul 29, 2005 20:42 Antworten mit Zitat |
|
---|---|---|
Code: [AUSKLAPPEN] Global p1,p2,p3,p4 Print p1+"|"+p2+"|"+p3+"|"+p4 p1 = p2 = 0 Print p1+"|"+p2+"|"+p3+"|"+p4 p1 = p2 = p3 = 0 Print p1+"|"+p2+"|"+p3+"|"+p4 p1 = p2 = p3 = p4 = 0 Print p1+"|"+p2+"|"+p3+"|"+p4 ' p1 = 0 p2 = 0 p3 = 0 p4 = 0 ' p2 = p3 = p4 = 1 Print p1+"|"+p2+"|"+p3+"|"+p4 p2 = p3 = p4 = 2 Print p1+"|"+p2+"|"+p3+"|"+p4 Bei diesem Code kommt bei mir dieses Ergebniss Code: [AUSKLAPPEN] 0|0|0|0 1|0|0|0 0|0|0|0 1|0|0|0 0|1|0|0 0|0|0|0 irgendwie scheint BMX die Mehrfachzuweisungen falsch zu interpretieren |
||
rema |
Fr, Jul 29, 2005 20:53 Antworten mit Zitat |
|
---|---|---|
Ui, ein gefährlicher Bug, so wie ich das meine...
Code: [AUSKLAPPEN] Global p1=0
Global p2=0 Global p3=0 Global p4=0 Print "1) "+p1+"|"+p2+"|"+p3+"|"+p4 p1 = p2 = 0 Print "2) "+p1+"|"+p2+"|"+p3+"|"+p4 Das heisst: p2 = 0 ist wahr, also wird wahr zu p1 zugewiesen Pendant zu: if p2 = 0 then p1 = true kannst mal versuchen global p2 = 1. So ist p1 = fals |
||
TheShadowModerator |
Fr, Jul 29, 2005 20:59 Antworten mit Zitat |
|
---|---|---|
ist kein bug
x=y=1 ist das selbe wie if y=1 then x=1 else x=0 einfacher zu lesen ist es so: x=(y=1) |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
billykater |
Fr, Jul 29, 2005 21:23 Antworten mit Zitat |
|
---|---|---|
@TheShadow
Das mit den hatte ich mir auch gedacht aber trotzdem danke für die klarstellung nur was passiert bei der vorletzten zeile p2 = p3 = p4 = 1 wenn am statt 1 eine andere Zahl wählt kommt immer 0 heraus ich vermute mal das hat was mit True = 1 zu tun |
||
Dreamora |
Fr, Jul 29, 2005 22:30 Antworten mit Zitat |
|
---|---|---|
p2 = (p3 = (p4 = 1 ))
wenn p3 = (p4 = 1 ) ist und p4 = 1 (oder was auch immer du da einsetzt), so ist p2 = 1 andernfalls 0. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
rema |
Fr, Jul 29, 2005 22:48 Antworten mit Zitat |
|
---|---|---|
Eigentlich sollte wie in C/C++ ein expliziter Vergleich durch == erfolgen und eine Zuweisung durch =
Den dies ist eigentlich ein undokumentiertes Vorgehen. Naja, wen mans weiss, so ist es halb so wild... |
||
Dreamora |
Fr, Jul 29, 2005 22:53 Antworten mit Zitat |
|
---|---|---|
rema hat Folgendes geschrieben: Eigentlich sollte wie in C/C++ ein expliziter Vergleich durch == erfolgen und eine Zuweisung durch =
Den dies ist eigentlich ein undokumentiertes Vorgehen. Naja, wen mans weiss, so ist es halb so wild... Kann ich mich nicht anschliessen. Die mathematische Variante würde ich vorziehen (wie sie Eiffel und andere Sprachen nutzen) mit = Vergleich := zuweisung Sonst könnte mans ja glei wie PHP und andere machen: = Zuweisung == Vergleich === Typenvergleich Und ich finde diese = Verkettung ehrlich gesagt kein bisschen "lesefreundlich" |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
billykater |
Fr, Jul 29, 2005 23:00 Antworten mit Zitat |
|
---|---|---|
Code: [AUSKLAPPEN] Global p1,p2,p3,p4 p1 = 3 p2 = 4 p3 = 5 p4 = 6 p2 = p3 = p4 = 2 Print p1+"|"+p2+"|"+p3+"|"+p4 ergibt 3|0|5|6 d.h. BM interpretiert nur das erste = als Zuweisung alle anderen sind einfache vergleiche == sollte man vielleicht für andere Leute irgendwo als hinweis hinposten |
||
Jolinah |
Sa, Jul 30, 2005 0:17 Antworten mit Zitat |
|
---|---|---|
Naja das ist Geschmackssache..
Ich für meinen Teil find die Sprachen doof die := oder sogar ::= für einfache Zuweisungen benutzen. Ich bin zwar nicht so der Mathe Professor, aber werden in Mathe nicht auch Zuweisungen immer mit = gemacht? Also ich hätte zumindest noch nie gesehen dass da in Physik irgendwie v := 10km/h steht etc.. Zudem ist == besser für die schreibfaulen Zuweisungen kommen öfter vor als Vergleiche. Und bei := muss man zwei verschiedene Tasten drücken wo man mit == den Finger schön auf der selben Taste lassen kann ^^ Naja das war nicht wirklich ernst gemeint, aber wer weiss, vielleicht ist ja genau aus dem Grund das == entstanden Ich hab es mir halt so angewöhnt, da ich viel C# benutze. |
||
TheShadowModerator |
Sa, Jul 30, 2005 15:19 Antworten mit Zitat |
|
---|---|---|
== mochte ich nie... bb macht es schon intuitiv wie es nur geht... | ||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group