Wandeln Sie eine reelle Zahl in eine Liste von Listen um, wobei das negative Vorzeichen (falls vorhanden) eine leere Liste, der ganzzahlige Teil eine Liste von Ziffern und der gebrochene Teil (falls vorhanden) eine Liste von Ziffern ist. Die Ziffern müssen tatsächliche Zahlen sein, keine Zeichenfolgen.
Beispiele
0
→ [[0]]
123
→ [[1,2,3]]
-123
→ [[],[1,2,3]]
123.45
→ [[1,2,3],[4,5]]
0.45
→ [[0],[4,5]]
-0.45
→ [[],[0],[4,5]]
-123.45
→ [[],[1,2,3],[4,5]]
l
(listify) Befehl von totallyhuman ‚s WIP Sprache, Intrnt .Antworten:
C #,
6066 BytesProbieren Sie es online!
quelle
IEnumerable<char[]>
) Es ist nur derJavaScript (ES6),
33444341 ByteÜbernimmt die Eingabe als Zeichenfolge. Opferte
11 bis10 Bytes, die die Elemente in der Ausgabe in Zahlen umwandelten, nachdem die Herausforderungsspezifikation aktualisiert wurde.eval
.Probier es aus
Erläuterung
Anonyme Funktion, die die Zeichenfolge als Argument über den Parameter verwendet
s
."-123.45"
Verwenden Sie RegEx, um die Zeichenfolge für alle nicht-stelligen Zeichen in ein Array aufzuteilen - dh
-
und.
["","123","45"]
Ordnen Sie über dem Array zu und übergeben Sie jeden String per Parameter an eine Funktion
a
.Aufteilen in ein Array einzelner Zeichenfolgen.
[[],["1","2","3"],["4","5"]]
Ordnen Sie über dem Subarray und
eval
jeder Zeichenfolge zu, die es in eine Ganzzahl konvertiert.[[],[1,2,3],[4,5]]
quelle
Python 2 , 58 Bytes
Probieren Sie es online!
quelle
Jelly ,
1310 BytesEin monadischer Link, der eine Nummer aufnimmt und die resultierende Liste von Nummernlisten zurückgibt.
Probieren Sie es online! (In der Fußzeile wird nur die Python-Darstellung gedruckt, um alle aktuellen Listen anzuzeigen .)
... oder sehen Sie sich die Testsuite an .
Wie?
quelle
05AB1E ,
1211 BytesVielen Dank an Riley für das Speichern eines Bytes. Code:
Verwendet die 05AB1E- Codierung. Probieren Sie es online!
Erläuterung:
quelle
ï
?The digits must be actual numbers, not strings.
„-.S€¡
für 6, aber wenn sie ints sein müssen ... unsicher.Python 2 , 59 Bytes
Probieren Sie es online!
-5 Bytes von Felipe Nardi Batista
quelle
[[[1, 2, 3], [4, 5]]]
gibt es eine zusätzliche äußere Listemap
mit Listenverständnis ändern : LinkEigentlich 23 Bytes
Probieren Sie es online!
Erläuterung:
quelle
SOGL V0.12 , 11 Bytes
Probieren Sie es hier aus!
Ausgaben an den Anfang des Stapels (weil SOGL ihn in einen mehrzeiligen String konvertiert, weil er für ASCII-Kunst gemacht ist). Um das Ergebnis anzuzeigen, schauen Sie in der Konsole nach
`r`@10:
(die äußeren Klammern sind die Stack-Arrays) oder hängen Sie einfachοø∑
nach dem Code anquelle
Japt (v2.0a0),
12108 BytesÜbernimmt die Eingabe als Zeichenfolge.
Test it (
-Q
Flag nur zu Visualisierungszwecken.)Erläuterung
Implizite Eingabe eines Strings
U
.Verwenden Sie RegEx, um (
q
) für alle nicht-stelligen Zeichen in ein Array zu teilen .Karte über das Array.
Teilen Sie jede Zeichenfolge in ein Array einzelner Zeichen auf.
Karte über das Array.
In Ganzzahl konvertieren.
quelle
\D
, da die einzigen nicht-Ziffern werden.
und-
?/
s :-)/
indem ich mehrzeilig geworden wäre. Ich habe nie daran gedacht, beide wegzulassen.Oktave , 54 Bytes
Anonyme Funktion, die eine Zahl als Eingabe verwendet und ein Zellenarray numerischer Vektoren erzeugt.
Probieren Sie es online!
Erläuterung
quelle
C (gcc) ,
170164152146144 BytesSollte in der Lage sein, dies ein bisschen runter zu spielen ...
Probieren Sie es online!
quelle
#define P printf(
indem Sie die Klammern in denP
AufrufenGelee , 12 Bytes
Probieren Sie es online!
quelle
0.45
Renditen[[],[4,5]
statt[[0],[4,5]]
(es kollidiert mit-45
)Ṿ
! Fixing ... ok behoben. Wer würde erwarten, dass Jelly das0
und.45
von0.45
separat parst ... und es auch alsṾ
Ausgabe hat.Eigentlich 16 Bytes
Probieren Sie es online!
Erläuterung:
quelle
R,
514772 BytesIch liebe die
RG
Bibliothek.Musste 26 Bytes hinzufügen, um sicherzustellen, dass die leere Liste tatsächlich leer war.
Beispielausgabe:
quelle
numeric(0)
denn eine leere nummerische liste oderlist()
oderNULL
?NULL
aber jetzt bin ich sicher, dass es eine golferischere Möglichkeit gibt. Vielleicht komme ich darauf zurück.Perl 5 ,
5654 + 1 (-p) = 55 BytesProbieren Sie es online!
Zwei Bytes gespart, weil Dom mich an $ & erinnert
Erläuterung:
quelle
Perl 6 , 23 Bytes
Probier es aus
Erweitert
Beachten Sie, dass dies
…».comb
eine höhere Priorität hat als+«…
quelle
Python 2 , 59 Bytes
Probieren Sie es online!
quelle
CJam , 13 Bytes
Probieren Sie es online!
quelle
Pyth, 12 Bytes
Probieren Sie es hier aus.
quelle
Perl 6 , 22 Bytes
Probieren Sie es online!
Die Elemente in der zurückgegebenen Liste sind Zeichenfolgen, aber wie es für Perl normal ist, können sie als Zahlen verwendet werden und werden implizit konvertiert. Sie sind "tatsächliche Zahlen" für alle praktischen Zwecke. Um zu erzwingen, dass sie in ihrer unmittelbarsten Darstellung Zahlen sind, muss man dem Inhalt des Codeblocks lediglich "+" voranstellen, um drei weitere Bytes zu erhalten.
quelle
+«
sollte das wohl enthalten sein.RUBIN, 75 Bytes
Probieren Sie es online!
quelle
.map{z|z.to_i}
für.map &:to_i