Как я могу динамически генерировать selectFields - PullRequest
2 голосов
/ 22 октября 2011

Я пытаюсь динамически генерировать selectFields путем сопоставления mreq selectField с использованием flip, и мне интересно, является ли это лучшим способом.

Это моя попытка. После изучения типа флип я начинаю думать, что это может быть неправильный подход. Обратная связь приветствуется.

[(versionRes,versionView)] <- mapM (mreq (flip (selectField "Placeholder" Nothing)))
                                   versions

versions тип [[(Text,Text)]].

Я не думаю, что ошибки говорят о чем-то полезном, поскольку, если это возможно при таком подходе, это вопрос правильности типов. Мне трудно это сделать, и я не уверен, что есть решение с таким подходом.

Для справки здесь приведены определения типов mreq, flip и selectField.

Ну, это моя следующая попытка.

[(versionRes,versionView)] <- mapM (flip mreq selectField ("Placeholder" Nothing)) versions

Я пытаюсь заставить mreq работать так

mreq "Placeholder" Nothing (selectField [(Text),(Text)])

1 Ответ

0 голосов
/ 22 октября 2011

Я пришел к выводу, что переворот просто не практично, даже если это возможно.

Вместо этого я делаю что-то подобное.

versionInfo <- mapM generateVersionSelectFields [[(Text),(Text)]]

generateVersionSelectFields version = do mreq (selectField version) "Placeholder" Nothing

Я оставляю это здесь, чтобы, возможно, оно улучшилось или появился альтернативный подход.

...