Tarea
Leer el contenido de una tabla dado un conjunto de coordenadas.
Formato de tabla
Las tablas estarán en este formato básico:
|[name]|[name]|
---------------------
[name]| [val]|[val] |
[name]| [val]|[val] |
Los nombres de columna son siempre únicos dentro de las columnas . Los nombres de las filas también son únicos dentro de las filas . Esto incluye nombres que son iguales, excepto espacios en blanco. Los valores, nombres de columnas y nombres de fila nunca tendrán |-
dentro de ellos. Los nombres y valores nunca tendrán espacios dentro de ellos, pero pueden tener espacios iniciales o finales. El ancho de columna es ajustable según el encabezado / contenido. El ancho de columna siempre es consistente de arriba a abajo.
Entrada
Una tabla y una lista separada por espacios de [name]
s.
Ejemplo
[table]
row col
Si está escribiendo una función, estas pueden ser cadenas separadas, de lo contrario row col
, siempre será la última línea en la entrada. row col
tiene cierta flexibilidad para el formato y puede representarse de muchas maneras. (por ejemplo (row, col)
, r, c
...). El único requisito difícil es que sea una línea y que debe aparecer en el orden col row
.
Salida
El contenido de una celda especificada por la entrada sin espacio inicial o final de la celda .
Ejemplos
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
Respuestas:
Retina, 90 bytes
Mi primer grupo equilibrado regex. Todavía debe estar bien golfable. Intentaré hacerlo más tarde.
La idea principal es contar las tuberías hasta el nombre de la columna y luego usar la misma cantidad de tuberías en la fila que comienza con el nombre de la fila deseada. Después de eso capturamos el siguiente valor que es el resultado.
Pruébelo en línea aquí.
fuente
JavaScript (ES6), 108
PRUEBA en Firefox
fuente
Haskell,
117116111 bytesEjemplo de uso:
Cómo funciona:
fuente