Ich versuche, auf Kotlin zu kommen, so dass ich this tutorial von ihren eigenen folgen.Erwartete Int, bekam IntProgression stattdessen
sie versuchen, eine Sequenz So ein String ist, wie dies gegeben zu erstellen:
"a vect" -> [
a vect :
a vec : t
a ve : ct
...
]
Und so, wie es ist, zu tun, nach dem Video, die folgenden:
val seq = sequenceOf(canonicalisedInput.lastIndex + 1 downTo 0).map {
canonicalisedInput.substring(0, it) to canonicalisedInput.substring(it)
}
Und ich bekomme, was ich mache (naja, die Idee davon). Das Problem ist, dass substring
erwartet zwei Int
s, während it
(die ich davon ausgehe, ist ein impliziter Iterator von einigen Arten, die von der downTo
Progression kommt) ist ein IntProgression
. Gleiches gilt für den zweiten Anruf substring
.
Was fehlt mir?
Ich verstehe nicht, warum in meinem Fall ist es einen Fehler meldet, während in der offiziellen Tutorial es ist in Ordnung. Wie gebe ich dann einen Index an die Substring-Methode? – dabadaba
@dabadaba, jetzt sehe ich, der Code, den Sie gepostet haben, enthält einen Fehler. 'sequenceOf' mit übergebenem Einzelargument gibt eine Sequenz mit diesem einen Element zurück. Um eine Folge von Indizes zu erhalten, versuchen Sie stattdessen '(canonicalisedInput.lastIndex + 1 downTo 0) .asSequence()'. – hotkey
@dabadaba dieses Tutorial wurde vor der Veröffentlichung von Kotlin gefilmt. Die Funktion "sequenceOf (IntProgression)" wurde veraltet und vor der Veröffentlichung entfernt. – Ilya