Nasal Frage

Installation, technische Probleme

Nasal Frage

Beitragvon Sanni » Mi Sep 27, 2017 2:22 pm

Hallo Ihrs

Ich hätte da mal eine Frage bezüglich Nasal. Was bewirkt / macht dieser Nasal-Schnübbel?:
Code: Alles auswählen
var_a != var_b or return;

Einfach nur Vergleichen und wenn nicht, dann raus hier? :roll:
Wie sieht das mit der Auswertung aus?

Liebe Grüße,
Sanni
I failed the Turing test
Benutzeravatar
Sanni
 
Beiträge: 418
Registriert: Do Sep 26, 2013 9:05 am
Wohnort: Niedersachsen
Callsign: D-Sanni

Re: Nasal Frage

Beitragvon chris_blues » Mi Sep 27, 2017 2:36 pm

Sieht wie ein Triplet aus. Wenn var_a nicht == var_b dann mach nix, wenn doch dann gib nichts zurück aber verlasse die Funktion (return).

Würde ich so hier schreiben: (ich finde diese Triplets fürchterlich unleserlich)

Code: Alles auswählen
if (var_a != var_b) {
}
else {
  return;
}


Normalerweise wird einem return ja ein Rückgabewert mitgegeben, in diesem Falle keiner.

Also scheint dieser Schnüpsel gar nichts zu machen, außer die Funktion zu verlassen wenn var_a == var_b.
Nur nicht zögern, mir zu sagen daß ich im Unrecht bin, oder einfach nur nerve! Aber bitte nett bleiben! :)
2x2.6GHz AMD CPU - 8GB DDR2 RAM - NVidia GeForce GTS450 1GB DDR5 - Debian Testing 64bit - FG git
Benutzeravatar
chris_blues
 
Beiträge: 322
Registriert: Di Jul 30, 2013 12:52 am
Wohnort: /home/chris
Callsign: chris_blues

Re: Nasal Frage

Beitragvon Sanni » Mi Sep 27, 2017 6:28 pm

Danke, das hatte ich mir auch schon gedacht. :mrgreen:
War mir nur nicht so sicher, wie das ausgewertet wird:

(var_a != var_b) or return;
oder
var_a != (var_b or return);

Bei der ersten Variante hätte doch or eine höhere Priorität als !=,
bei der zweiten wäre einfach nur von links nach rechts auszuwerten, wie gewohnt.
Leider habe ich darüber noch nichts gefunden... :?
I failed the Turing test
Benutzeravatar
Sanni
 
Beiträge: 418
Registriert: Do Sep 26, 2013 9:05 am
Wohnort: Niedersachsen
Callsign: D-Sanni

Re: Nasal Frage

Beitragvon chris_blues » Mi Sep 27, 2017 6:53 pm

Ja, ist schon ein merkwürdiges Schnipselchen! Ich werds mal auf der devel-Liste ansprechen. Mal sehen was die dazu sagen...
Nur nicht zögern, mir zu sagen daß ich im Unrecht bin, oder einfach nur nerve! Aber bitte nett bleiben! :)
2x2.6GHz AMD CPU - 8GB DDR2 RAM - NVidia GeForce GTS450 1GB DDR5 - Debian Testing 64bit - FG git
Benutzeravatar
chris_blues
 
Beiträge: 322
Registriert: Di Jul 30, 2013 12:52 am
Wohnort: /home/chris
Callsign: chris_blues

Re: Nasal Frage

Beitragvon chris_blues » Fr Sep 29, 2017 7:22 am

Also, James meinte es wäre ersteres. == und != haben höhere Priorität als or.

James wrote:
Looking at the code:

https://sourceforge.net/p/flightgear/simgear/ci/next/tree/simgear/nasal/parse.c

You can see the entire operator precedence table, and indeed TOK_EQ and TOK_NEQ (not equal) are higher than TOK_OR.
Nur nicht zögern, mir zu sagen daß ich im Unrecht bin, oder einfach nur nerve! Aber bitte nett bleiben! :)
2x2.6GHz AMD CPU - 8GB DDR2 RAM - NVidia GeForce GTS450 1GB DDR5 - Debian Testing 64bit - FG git
Benutzeravatar
chris_blues
 
Beiträge: 322
Registriert: Di Jul 30, 2013 12:52 am
Wohnort: /home/chris
Callsign: chris_blues

Re: Nasal Frage

Beitragvon chris_blues » Fr Sep 29, 2017 1:16 pm

Stuart fügte noch hinzu:
Also I personally don't like negative conditional statements, so I would
(re-)write it as

if (var_a == var_b) return;

... which to my eyes is much easier to understand and does the same thing :)


Frei übersetzt: er mag keine negativen Bedingungsabfragen.
Code: Alles auswählen
if (var_a == var_b) return;
würde zum selben Ergebnis führen und ist besser lesbar.

Außerdem empfiehlt James immer Klammern zu benutzen, um die Prioritäten sicher zu setzen.
Nur nicht zögern, mir zu sagen daß ich im Unrecht bin, oder einfach nur nerve! Aber bitte nett bleiben! :)
2x2.6GHz AMD CPU - 8GB DDR2 RAM - NVidia GeForce GTS450 1GB DDR5 - Debian Testing 64bit - FG git
Benutzeravatar
chris_blues
 
Beiträge: 322
Registriert: Di Jul 30, 2013 12:52 am
Wohnort: /home/chris
Callsign: chris_blues

Re: Nasal Frage

Beitragvon Sanni » Fr Sep 29, 2017 6:41 pm

Ich gebe James und besonders Stuart recht. Wobei ich bei der Sache mit seiner Oma erst ein wenig Zeit gebraucht habe.... :? :shock: :lol:
Daaaanke :)
I failed the Turing test
Benutzeravatar
Sanni
 
Beiträge: 418
Registriert: Do Sep 26, 2013 9:05 am
Wohnort: Niedersachsen
Callsign: D-Sanni

Re: Nasal Frage

Beitragvon chris_blues » Fr Sep 29, 2017 10:32 pm

Sanni hat geschrieben:Wobei ich bei der Sache mit seiner Oma erst ein wenig Zeit gebraucht habe.... :? :shock: :lol:

Ich hab den immer noch nicht kapiert! Diese Briten! :D
Nur nicht zögern, mir zu sagen daß ich im Unrecht bin, oder einfach nur nerve! Aber bitte nett bleiben! :)
2x2.6GHz AMD CPU - 8GB DDR2 RAM - NVidia GeForce GTS450 1GB DDR5 - Debian Testing 64bit - FG git
Benutzeravatar
chris_blues
 
Beiträge: 322
Registriert: Di Jul 30, 2013 12:52 am
Wohnort: /home/chris
Callsign: chris_blues


Zurück zu Tech Support

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast