Size: a a a

2020 November 06

MK

Maxim Koltsov in Haskell
видимо через инстансы Read хочется?
источник

ПК

Паша Калугин... in Haskell
Да
источник

MK

Maxim Koltsov in Haskell
не помню есть ли у айзера Alternative
источник

AV

Alexander Vershilov in Haskell
fun = asum [ Left readMaybe, Right readMaybe]
источник

AV

Alexander Vershilov in Haskell
?
источник

AV

Alexander Vershilov in Haskell
Для айзера то не нужно
источник

AV

Alexander Vershilov in Haskell
let f  = (\s -> asum [Left <$> readMaybe s, Right <$> readMaybe s]) :: String -> (Maybe (Either () Int))
Prelude Text.Read Data.Foldable> f "()"
Just (Left ())
Prelude Text.Read Data.Foldable> f "1"
Just (Right 1)
Prelude Text.Read Data.Foldable> f "yo"
Nothing
источник

AV

Alexander Vershilov in Haskell
если хочется как в коде выше выкидывать ошибку в случае непопадания, то fromJust добавьте
источник

AV

Alexander Vershilov in Haskell
Расскажите, как мне быть с Enum 🙁
источник

ПК

Паша Калугин... in Haskell
Alexander Vershilov
let f  = (\s -> asum [Left <$> readMaybe s, Right <$> readMaybe s]) :: String -> (Maybe (Either () Int))
Prelude Text.Read Data.Foldable> f "()"
Just (Left ())
Prelude Text.Read Data.Foldable> f "1"
Just (Right 1)
Prelude Text.Read Data.Foldable> f "yo"
Nothing
Да, заработало, спасибо
источник

ПК

Паша Калугин... in Haskell
Почему не работает
Prelude> a = read "4"
Prelude> a :: Char
*** Exception: Prelude.read: no parse
?
источник

ПК

Паша Калугин... in Haskell
Нельзя прочитать строку из одного символа как чар?
источник

AV

Alexander Vershilov in Haskell
Потому, что у вас написано не то, что вы думаете
источник

AT

Alexander T in Haskell
head a не работает?
источник

AV

Alexander Vershilov in Haskell
а туплю
источник

AT

Alexander T in Haskell
а, там read. хз во что.
источник

AV

Alexander Vershilov in Haskell
read "'4'"
источник

AV

Alexander Vershilov in Haskell
же
источник

AV

Alexander Vershilov in Haskell
read это читать то, что выдаёт show
источник

AV

Alexander Vershilov in Haskell
например read "text" :: String тоже не прочитается, надо read "\"text\""
источник