Size: a a a

Elm Lang сообщество разработчиков

2018 April 06

AK

Andrey Koppel in Elm Lang сообщество разработчиков
Да, это известный факт
источник

AK

Andrey Koppel in Elm Lang сообщество разработчиков
Elm вертикальный язык =)
источник

к

кана in Elm Lang сообщество разработчиков
интерсно, если "нормально" (коротко) отформатировать, где он будет
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
скорее всё таки из-за строгой типизации. такая цена статических гарантий
источник

к

кана in Elm Lang сообщество разработчиков
sum x =
   case x of
       [] ->
           0

       x :: xs ->
           x + sum xs


в

sum x = case x of
 []      -> 0
 x :: xs -> x + sum xs


сокращение в два раза (без учета пустых строк, полагаю там так и посчитано, иначе зашкварный график)
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
ну и отформатировать можно короче, это да
источник

w

whoami in Elm Lang сообщество разработчиков
Здавствуйте!

Я тут новенький в elm, пытаюсь создать форму и на нее повесить событие отправки:

view model =
 div []
       [  Html.form [ onSubmit Form ] [] ]

Но компилятор "ругается"

The definition of `view` does not match its type annotation.
The type annotation for `view` says it always returns:

   Html (Msg)

But the returned value (shown above) is a:

   Html (String -> Msg)


В документации тип form такой

form : List (Attribute msg) -> List (Html msg) -> Html msg


Что же я делаю не так?
источник

AT

Artem Trubachev in Elm Lang сообщество разработчиков
событие Form  как определено?
источник

к

кана in Elm Lang сообщество разработчиков
onSubmit сигнатуру посмотри
ну и с Form сравни
источник

w

whoami in Elm Lang сообщество разработчиков
type Msg = Form String
источник

AT

Artem Trubachev in Elm Lang сообщество разработчиков
ну вот тебе и ответ
источник

к

кана in Elm Lang сообщество разработчиков
источник

к

кана in Elm Lang сообщество разработчиков
а ты отдаешь (String -> msg) (type of Form)
источник

w

whoami in Elm Lang сообщество разработчиков
Ага, вижу,
источник

w

whoami in Elm Lang сообщество разработчиков
type Msg = Form
источник

w

whoami in Elm Lang сообщество разработчиков
Спасибо👍
источник

AT

Artem Trubachev in Elm Lang сообщество разработчиков
источник

к

кана in Elm Lang сообщество разработчиков
если хочется по сабмиту строку получить (из инпута полагаю), то это нужно в инпуте вешать onChange и класть содержимое инпута в модель, а в хендлере Form брать данные из модели
источник

w

whoami in Elm Lang сообщество разработчиков
А да, еще хотел спросить, onInput срабатывает после "снятия" фокуса с поля или после отпускания клавиши?
источник

w

whoami in Elm Lang сообщество разработчиков
кана
если хочется по сабмиту строку получить (из инпута полагаю), то это нужно в инпуте вешать onChange и класть содержимое инпута в модель, а в хендлере Form брать данные из модели
Да, я так и задумал делать)
источник