Dada uma grade 3 x 4 de barras verticais, sublinhados e espaços, determine qual número está representado, ou se ele está ilegível.
Para começar, converta uma fonte binária simples em uma string contendo 0 ou 1.
A fonte binária usa barras verticais e sublinhados, com quatro linhas de altura e três colunas de largura.
_ #
| | # zero.
|_| #
# the fourth row is always blank
É convertido em "0"
#
| # one.
| #
# (blank fourth row)
É convertido em "1"
Se a entrada tiver o tamanho correto, mas não for reconhecível, seu programa deve retornar '?'
Se a entrada tiver o tamanho incorreto, seu programa deve retornar um erro.
Atualize seu programa para reconhecer strings binárias de vários caracteres, substituindo os números ilegíveis por ?
Atualize seu programa para reconhecer todos os números de 0 a 9, tanto individualmente quanto como parte de uma string maior.
_
_|
|_
É convertido em "2"
_ _ _ _ _ _ _ _ #
| _| _||_||_ |_ ||_||_|| | # decimal numbers.
||_ _| | _||_| ||_| _||_| #
# fourth line is always blank
É convertido em "1234567890"
Atualize seu programa para lidar com vários números, um por linha. Ao converter várias linhas, junte as linhas com vírgulas.
_ _
| _| _|
||_ _|
_ _
|_||_ |_
| _||_|
_ _ _
||_||_|
||_| _|
É convertido em "123,456,789".
Crie sua conta no Exercism para aprender e dominar Haskell com 107 exercícios e mentoria humana de verdade, tudo de graça.