Синтаксическая ошибка Elm при вызове функции

Когда я компилирую этот код:

module Mpower where
import Html exposing (..)
import List exposing (..)
import Html.Events exposing (..)
import Html.Attributes exposing (id, type', for, value, class)

customerList = ["Select Customer", "Customer 1","Customer 2","Customer 3"]
productList =  ["Select Product", "Product 1", "Product 2", "Product 3"]

optionItem optionname =
  option [ ] [ text optionname ]

selectItem labelname selectlabel listname =
    {
    label [ for labelname ] [ text selectlabel ],
    select [ id labelname ] ( List.map optionItem listname )
    }

view =
  form [ id "quote-form" ] 
        [
        h1 [] [ text "Sensational Quote Request Form" ],
        selectItem  "customer-select" "Customer: " customerList,
        div [ class "quote-button" ] [ text "Request Quote!" ]
        ]

main = view

Я получаю следующую ошибку:

Обнаружены ошибки в 1 модуле. [36m-- СИНТАКСИЧЕСКАЯ ПРОБЛЕМА ----------------------------------------------------------- ----- test-div.elm[0m

Я столкнулся с чем-то неожиданным при разборе вашего кода!

19│ label [ for labelname ] [ text selectlabel ], [31m^[0m Я ищу одну из следующих вещей:

"|"
an equals sign '='
whitespace

Что вызывает эту ошибку и как ее решить?

Исправленный selectItem выглядит следующим образом:

selectItem labelname selectlabel listname =
  div [ ]
    [
    label [ for labelname ] [ text selectlabel ],
    select [ id labelname ] ( List.map optionItem listname )
    ]

elm
person Joe Fontana    schedule 20.12.2015    source источник
comment
Пересмотренный selectItem был введен ниже исходного вопроса.   -  person Joe Fontana    schedule 21.12.2015


Ответы (1)


Тело selectItem не должно заключаться в скобки. Это недопустимый синтаксис. Возможно, вы могли бы вернуть div, который оборачивает метку и выбирает элементы?

person Chad Gilbert    schedule 20.12.2015