2016-09-20 1 views
1

Ich vor kurzem bewegt von Julia 0.4.5 auf 0.5.0, und stieß auf ein neues Problem, bitte helfen Sie mir zu verstehen, wenn dies ein Fehler ist oder wenn ich hier etwas Verständnis fehlt.Warnung beim Transponieren Array von Zeichenfolgen

Ich möchte ein Array erstellen, indem ich eine Reihe (ein 1D Array von Strings) eine bestimmte Anzahl von Malen wiederhole, und dafür verwende ich die repmat Funktion. Die Zeile wird zusammen mit vielen anderen aus einer Datei (readdlm) gelesen, bevor sie als Eingabe für eine Funktion eingegeben wird. In dieser Funktion wird die Zeile zunächst als Vektor behandelt. Für repmat, um ein 2D-Array von diesem zu machen, muss ich es transponieren, wie in dem Beispiel unten.

myRow=["1","2","3"] 
myRow=myRow' 
myArray=repmat(myRow',3) 

Allerdings, wenn ich ausführen die zweite Zeile oben ich eine Warnung erhalten:

WARNING: the no-op `transpose` fallback is deprecated, and no more specific `transpose` method for String exists. Consider `permutedims(x, [2, 1])` or writing a specific `transpose(x::String)` method if appropriate. 

Die Umsetzung wird noch ausgeführt, so noch mein Code funktioniert, aber ich bin nicht bequem Code, der gibt mir Warnungen vor der Abwertung.

Die Fehlermeldung oben ist genau das gleiche wie wenn ich versuche, eine String zu transponieren, so vermute ich, dass die Fehlermeldung falsch ausgelöst wird, wenn man versucht, ein Array von Zeichenfolgen zu transponieren. Wenn ich ein Array anderer Klassen transponiere, z. Ganzzahlen, ich trete keine Warnung an.

Hat jemand eine vorgeschlagene Erklärung?

+6

Die vorgeschlagene Lösung ist 'reshape (myRow, 1, Länge (myRow))'. Leider wurde die Hilfemeldung noch nicht aktualisiert (https://github.com/JuliaLang/julia/issues/18320). –

+0

@Isaiah Ich empfehle das als Antwort zu posten. –

Antwort

Verwandte Themen