Aufgabe
Lesen Sie den Inhalt einer Tabelle mit einem Satz von Koordinaten.
Tabellenformatierung
Die Tabellen haben dieses Grundformat:
|[name]|[name]|
---------------------
[name]| [val]|[val] |
[name]| [val]|[val] |
Spaltennamen sind innerhalb von Spalten immer eindeutig . Zeilennamen sind auch innerhalb von Zeilen eindeutig . Dies schließt Namen ein, die bis auf Leerzeichen identisch sind. Werte, Spaltennamen und Zeilennamen werden niemals enthalten sein |-
. Namen und Werte enthalten niemals Leerzeichen, sondern möglicherweise führende oder nachfolgende Leerzeichen. Die Spaltenbreite kann je nach Kopfzeile / Inhalt angepasst werden. Die Spaltenbreite ist von oben nach unten immer gleich.
Eingang
Eine Tabelle und eine durch Leerzeichen getrennte Liste von [name]
s.
Beispiel
[table]
row col
Wenn Sie eine Funktion schreiben, können dies separate Zeichenfolgen sein, andernfalls row col
ist dies immer die allerletzte Zeile in der Eingabe. row col
hat eine gewisse Flexibilität für das Format und kann auf viele Arten dargestellt werden. (zB (row, col)
, r, c
, ...). Die einzige schwierige Anforderung ist, dass es sich um eine Zeile handelt und dass sie in der Reihenfolge erscheinen muss col row
.
Ausgabe
Der Inhalt einer durch die Eingabe angegebenen Zelle ohne führenden oder nachfolgenden Leerzeichen von der Zelle .
Beispiele
In:
|a|z |_*|
------------
atb|1|85|22|
b |5|6 |e$|
/+*|8|we|th|
atb a
Out:
1
In:
| x| b |
----------
ab|l |mmm|
b |le| l |
b b
Out:
l
In:
|a|z |_*| ab |
-------------------
atb|1|85|22| 5 |
b |5|6 |e$| 8 |
/+-|8|we|th| 126 |
atb ab
Out:
5
Antworten:
Netzhaut, 90 Bytes
Meine erste Ausgleichsgruppe Regex. Es sollte immer noch gut golfbar sein. Ich werde es später versuchen.
Die Hauptidee besteht darin, die Pipes bis zum Spaltennamen zu zählen und dann die gleiche Anzahl von Pipes in der Zeile zu verwenden, beginnend mit dem Namen der gewünschten Zeile. Danach erfassen wir den nächsten Wert, der das Ergebnis ist.
Probieren Sie es hier online aus.
quelle
JavaScript (ES6), 108
TEST in Firefox
quelle
Haskell,
117116111 BytesAnwendungsbeispiel:
Wie es funktioniert:
quelle