2016-04-12 23 views
0

Ich konfrontiert einige Probleme in Bezug auf die Art der Argumente für eine Funktion in Julia. Aus einer Hand würde der Code schneller ausgeführt werden, wenn der Typ definiert ist: zum Beispiel Int64 für eine ganze Zahl. Auf der anderen Seite würde das Übergeben einer einfachen Zahl an die Funktion jedes Mal, wenn ich die Funktion anrufe, eine Typumwandlung erfordern, z. durch den Aufruf:Julia Funktion Argument Typ def

convert(a, Int64) 

Das scheint ein Overkill zu sein. Was ist der Ratschlag für guten Stil?

Antwort

4

Mit Julia ist es im Allgemeinen nicht wahr, dass die Angabe des Typs für die Argumente einer Funktion es schneller macht. Wenn das Argument keinen Typ hat (z. B. Any) oder nur einen abstrakten Typ hat (z. B. Integer anstelle von Int64), kann Julia Methoden für alle konkreten Typen generieren, die tatsächlich zum Aufrufen der Funktion verwendet werden, anstatt eine Konvertierung durchführen zu müssen. BTW, die Syntax ist eigentlich convert(Int64, a), der Typ, den Sie konvertieren möchten, kommt zuerst.