2017-08-07 5 views
0

Ich glaube, das ist mein erster Beitrag hier. Ich unterrichte mich Swift und bin auf seltsame Weise auf das mysteriöse Auftreten eines führenden "" in einer Print-Aussage gestoßen. Ich untersuchte die Druckformatierung und dieser Code erzeugt ein führendes "" in der ersten gedruckten gestrichelten Linie. Code:Mysterious "" in Swift 4 Druckausgabe (Xcode 9Beta)

var dashedLine  = "-------------------------------------------------------------------" 
print("a bunch of text\n", dashedLine) 
print(dashedLine) 

Ausgang:

a bunch of text  
------------------------------------------------------------------- 
------------------------------------------------------------------- 

Warum der führende Raum vor der ersten gestrichelte Linie? Ich habe die Swift 4-Dokumentation gelesen. (Wenn ich mit "Terminator" -Syntax am Ende einer Druckliste spiele, bekomme ich unerwartete Ergebnisse, einschließlich der Unterdrückung der Ausgabe.) Ich bin neugierig auf das Aussehen des führenden Raumes als meine primäre Frage.

+0

Code: var DashedLine = „----------------------------- -------------------------------------- " Durchschnitt = Doppelt (Summe/Zähler) drucken ("ein Haufen Text \ n") drucken (gestrichelteLinie) –

+0

Willkommen bei SO! @DavidPasztor hat Ihre Frage so bearbeitet, wie ich es auch getan habe - er hat jeder Codezeile vier Leerzeichen hinzugefügt, damit er als Code erscheint. Ich dachte nur, du würdest es gerne wissen. – dfd

+0

danke David für die korrekte Formatierung meiner ersten Post ...! –

Antwort

1

Standardmäßig druckt eine Druckanweisung mit mehreren Argumenten diese mit einem Leerzeichen dazwischen aus.

Sie finden mehr in Apples Dokumentation here.

+0

Danke. ... Ich habe diesen Punkt in der Dokumentation verpasst! –

1

Im Nachgang zur @ bajracharyas353 Antwort, eine Lösung, wenn Sie dies zu vermeiden sind, um wäre Strings zu kombinieren jedes des Verfahrens unter Verwendung von Swift erlaubt, wie "a" + "b" oder String.append oder print(String1, String2, separator: "").

Wie für die Unterdrückung der Ausgabe, ich denke, ich habe in der gleichen Sache mit JWTs geraten. Es scheint eine ziemlich bescheidene Produktionsgrenze zu geben, aber ich könnte mich da irren.

1

Problem

Die Swift.print(_ items: Any...) Funktion druckt mehr durch ein Leerzeichen getrennt Argumente.

Lösung

Verwenden print("a bunch of text\n", dashedLine, separator: "") statt