NEWS
Werte an Funktion übergeben
-
Hallo zusammen,
Ich bitte zunächst um Nachsicht wenn das eine dumme Frage ist, aber ich komme aus 30 Jahren Delphi/C# und da ist es Usus, dass man Werte in eine Funktion übergeben kann welche dann ein Ergebnis zurück liefert.
Im konkreten Fall habe ich für jedes Fenster in meinem Haus einen Polygonzug definiert. Dieser besteht aus einer unterschiedlichen Anzahl von Punkten, welche jeweils als einzelne Koordinaten x und y als Datenpunkte in Userdata abgespeichert sind. Getestet werden soll nun, ob sich die Sonne innerhalb des Polygons befindet (dann soll die Verschattung hergestellt werden) oder außerhalb (dann soll die Verschattung aufgehoben werden).
Was ich nicht finde, ist die Möglichkeit, jeweils ein Array mit den Punkten des Polygonzugs für jedes Fenster an eine Funktion im Blockly zu übergeben, welche dann testet, ob die Sonne in- oder außerhalb des Polygons ist und diesen Wert zurück gibt.
Hat da jemand eine Idee? -
@guitardoc sagte in Werte an Funktion übergeben:
Hallo zusammen,
Ich bitte zunächst um Nachsicht wenn das eine dumme Frage ist, aber ich komme aus 30 Jahren Delphi/C# und da ist es Usus, dass man Werte in eine Funktion übergeben kann welche dann ein Ergebnis zurück liefert.
Im konkreten Fall habe ich für jedes Fenster in meinem Haus einen Polygonzug definiert. Dieser besteht aus einer unterschiedlichen Anzahl von Punkten, welche jeweils als einzelne Koordinaten x und y als Datenpunkte in Userdata abgespeichert sind. Getestet werden soll nun, ob sich die Sonne innerhalb des Polygons befindet (dann soll die Verschattung hergestellt werden) oder außerhalb (dann soll die Verschattung aufgehoben werden).
Was ich nicht finde, ist die Möglichkeit, jeweils ein Array mit den Punkten des Polygonzugs für jedes Fenster an eine Funktion im Blockly zu übergeben, welche dann testet, ob die Sonne in- oder außerhalb des Polygons ist und diesen Wert zurück gibt.
Hat da jemand eine Idee?Du hast den Baustein für eine Funktion mit rückgabewert. Da gibt es ein Zahnrad um einen Parameter unüberlegten - das ist Teil 1
Teil 2 ist das du die einzelnen Punkte in eine Liste einträgst und dann die Liste übergibst. Ab neueren Versionen kannst du sogar eine Liste von Punkt-Objekten erzeugen. Wenn das nicht geht, dann eine Liste von Listen, in denen an der 1. Stelle der X-Wert und an der 2. Stelle der y wert eingetragen ist.A.
Z.bsp. So :
Was du natürlich machen musst ist durch entsprechende Aufrufe das Einlesen der datenpunkte unter username in die Liste zu erzeugen.
-
@asgothian Super - das hab ich verstanden. Ich war irgendwie irrtümlich davon ausgegangen, dass die Unterfunktion die Variablen der aufrufenden Methode nicht kennt und daher diese mit übergeben werden müssen, aber dem ist hier ja nicht so. Danke für die ausführliche Erläuterung!