Ich habe eine Zeichenfolge mit Syntax analysierenEstablishing quine Art in scala
lazy val expr: Parser[Term ~ Option[<recursion>]] = term ~ opt(expr)
Sie sehen, es verwendet, um sich Unterausdrücke zu analysieren. Aber was bringt dieser Typ? Um das Problem zu reproduzieren, ich created ein etwas ähnliches Problem
def quine(depth: Int, result: (Any, Option[Any])): (Any, Option[Any]) =
if (depth == 0) result else {quine(depth - 1, (depth, Some(result)))}
quine(5, (true, None))
Wie Sie sehen, habe ich Any
da ich weiß nicht, wie genaue Art zu geben.
Die Listen definieren irgendwie Proto-Typ List[A]
, erweitert durch Cons[A](head: A, tail: List[A])
und einige magische Nil
. Dadurch kann die Liste irgendwie wiederholt werden. Aber was soll ich in meinem Fall tun?