PB4 Interpretation bool'scher Ausdrücke

Fragen und Bugreports zur PureBasic 4.0-Beta.
Benutzeravatar
uweb
Beiträge: 461
Registriert: 13.07.2005 08:39

Beitrag von uweb »

@ jear : Deine Frage wurde doch schon beantwortet.
Zwischen "ist völlig falsch" und "ich finde es sollte andes sein" gibt es einen feinen Unterschied.

Ich finde zwar auch bei

Code: Alles auswählen

a = 50
b = a > 60
Debug b 
sollte 0 raus kommen.

Falsch finde ich es aber nicht, da a > 60 im Gegensatz zu z.B. C nicht als Ausdruck der einen Wert repräsentiert definiert ist.

Falsch finde ich es hingegen anderen ständig das Wort im Mund herum zu drehen, C als eine nicht erwachsene Programmiersprache zu bezeichnen, sich gegen alles zu wehren das einen vom maulen abhalten könnte, ...
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

@jear

Sollte sich Fred mal anschauen. Gebe dir recht.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
IngolfZ
Beiträge: 27
Registriert: 29.10.2005 11:58
Wohnort: Dreieich (Hessen)
Kontaktdaten:

Beitrag von IngolfZ »

Vorsicht Jürgen (jear)
bei

Code: Alles auswählen

a = 50 :  Debug (a = 60)
ist die Ausgabe 60 richtig. Das ist nämlich kein Vergleich, sondern eine Zuweisung.

Kannst du mal ein "erwachsenes" Beispiel posten, wo du genau sowas brauchst.
Ich bezweifle nämlich, dass das was du willst zu einem übersichtlichen und verständlichen Code führt.
Man wird alt wie 'ne Kuh und lernt immer noch dazu
Benutzeravatar
jear
Beiträge: 288
Registriert: 17.10.2004 01:59
Wohnort: Ammerland

Beitrag von jear »

...wie gesagt

Code: Alles auswählen

DisableGadget(#ggg, a > 60)
und tausend andere Anwenungen, die jetzt nur mit "If : Else : EndIf"-Konstruktionen bewältigt werden können.
Man ist nie zu alt zum lernen, auch wenn man dabei manchmal alt aussieht!
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Und was ist hiermit:

Code: Alles auswählen

DisableGadget(#ggg, a = 60)
Zuweisung oder Vergleich?
Vielleicht sollten dann die Zuweisungen auch im Basicstil erfolgen:

Code: Alles auswählen

Let a = 60
:mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Eine Zuweisung in einem Ausdruck kann nicht sein.
Sonst wäre "If a = 60" auch eine Zuweisung und das ist Blödsinn

Zur Zeit ist eindeutig geregelt das eine Vergleichsoperation NICHT in einer mathematischen Operation ausführt wird.
Das einzige ist das der Compiler dieses nicht als Fehler Meldet.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
IngolfZ
Beiträge: 27
Registriert: 29.10.2005 11:58
Wohnort: Dreieich (Hessen)
Kontaktdaten:

Beitrag von IngolfZ »

Ich ziehe meinen Einwand, dass Debug (a=60) eine Zuweisung beinhaltet zurück. Es stimmt nicht :oops:

Beispiel:

Code: Alles auswählen

a = 1
Debug (a=60)
Debug a
zeigt die erste Ausgabe mit "60" und die zweite mit "1"
Man wird alt wie 'ne Kuh und lernt immer noch dazu
Benutzeravatar
uweb
Beiträge: 461
Registriert: 13.07.2005 08:39

Beitrag von uweb »

das ist Blödsinn
Wieso herrscht den heute so ein rauher Ton ?

Ok, ich war zu jear auch nicht durchgehend nett aber erst nachdem er mich für meinen Hilfeversuch angemacht hat.

Hey, es ist Ostern !

Laßt uns jetzt bitte wieder alle lieb zueinander sein.
:)
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Ab zum Osterfeuer :allright:

Bis dann :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
jear
Beiträge: 288
Registriert: 17.10.2004 01:59
Wohnort: Ammerland

Beitrag von jear »

Und was ist hiermit:

DisableGadget(#ggg, a = 60)

Zuweisung oder Vergleich?
Das ist doch an so einer Stelle völlig eindeutig.
Es wird bei diesem Parameter #True oder #False erwartet. Warum löst PB den Ausdruck also nicht danach auf?

Code: Alles auswählen

DisableGadget(#ggg, (a = 60) Or #False) 
Löst es ja schließlich auch richtig auf!

P.S. Zum ersten Mal zurück vom Osterfeuer!
Man ist nie zu alt zum lernen, auch wenn man dabei manchmal alt aussieht!
Gesperrt