Frage an erlang, list-comprehension – Erlang-Listen: Dropilst seltsames Ergebnis

6

Kann mir bitte jemand helfen, zu verstehen, was hier vor sich geht?

<code>lists:dropwhile(fun(X) -> X < 8 end, lists:seq(1,10)).

"\b\t\n" % ??? what is this ? why not [8,9,10]

lists:dropwhile(fun(X) -> X < 7 end, lists:seq(1,10)).  

[7,8,9,10] % this is correct
</code>

Deine Antwort

1   die antwort
13

Ihre Ergebnisse sind tatsächlich in beiden Fällen korrekt. Die unerwartete Zeichenfolge im ersten Fall ist auf die Tatsache zurückzuführen, dass es sich bei Erlang-Zeichenfolgen nur um Listen mit ganzen Zahlen handelt. Aus diesem Grund interpretiert Erlang Ihre erste Liste als Zeichenfolge, da sie nur druckbare ASCII-Codes enthält. Im zweiten Fall enthält die Liste den Code 7, der nicht druckbar ist, sodass Erlang gezwungen ist, ihn als Ganzzahlliste zu interpretieren.

Sie können die aktuelle Ganzzahlliste jederzeit mit ausdrucken

<code>MyList = lists:dropwhile(fun(X) -> X < 8 end, lists:seq(1,10)),
io:format("~w", [MyList]).
</code>
Mach dir keine Sorgen. Froh, dass ich helfen konnte. :) 3lectrologos
danke für die erklärung, das würde erklären warum das so ist[68, 97, 121, 97]. ist Daya Daya Sharma
Entschuldigung, ich bin noch neu auf der Seite. Ich wollte deine Antwort nicht ignorieren. Es löst meine Frage. Daya Sharma

Verwandte Fragen