2016-07-30 16 views

Antwort

8

Ich bin mir nicht sicher, was Sie mit den *"b" in Ihrer Syntax erreichen wollen, aber für den Rest davon:

julia> a = 123 
123 

julia> string(a) 
"123" 

julia> println(a) 
123 

Die string() Funktion auch mehr Argumente annehmen:

julia> string(a, "b") 
"123b" 

Beachten Sie, dass es nicht notwendig ist, einen Int-Typ in einen ASCIIString zu konvertieren, bevor Sie println() darauf aufrufen - die Konvertierung wird automatisch durchgeführt.

Sie können auch (aka interpolieren) ganze Zahlen (und bestimmte andere Arten) insert into Strings $:

julia> MyString = "my integer is $a" 
"my integer is 123" 

Performance-Tipp: Die obigen Verfahren manchmal sehr bequem sein kann. Aber, wenn Sie viele, viele solcher Operationen ausführen und Sie sind besorgt über die Ausführungsgeschwindigkeit Ihres Codes, empfiehlt die Julia performance guide dagegen, und stattdessen zugunsten der folgenden Methoden:

Sie können mehrere Argumente zu print() liefern und println(), die ihnen genau arbeitet wie string() auf mehrere Argumente arbeitet:

julia> println(a, "b") 
123b 

Oder wenn eine Datei schreiben, können Sie in ähnlicher Weise verwendet werden, zB

open("/path/to/MyFile.txt", "w") do file 
    println(file, a, "b", 13) 
end 

oder

file = open("/path/to/MyFile.txt", "a") 
println(file, a, "b", 13) 
close(file) 

Dies sind schneller, weil sie zuerst vermeiden zu müssen aus gegebenen Stücken eine Zeichenfolge bilden, und dann gibt sie (entweder an der Konsolenanzeige oder eine Datei) und statt sequentiell nur die verschiedene Stücke.

Hinweis: Antwort spiegelt Updates basierend auf hilfreiche Kommentar von @Fengyang Wang.

+2

Große Antwort. Beachten Sie, dass 'string()' so langsam ist wie die String-Interpolation. Tatsächlich reduziert sich die String-Interpolation tatsächlich auf einen "String" -Ruf! Der verknüpfte Leistungsleitfaden empfiehlt, die IO-Funktionen direkt zu verwenden, was in der Tat schneller ist. –

+0

@FengyangWang Großartig, danke für den Tipp! Ich habe mich entsprechend aktualisiert. –