在优秀的wreq
Haskell库中,可以轻松地向URL添加一个或多个查询参数:
opts = defaults & param "key" .~ ["value"]
params = [("key1", "value1"), ("key2", "value2"), ("key3", "value3")]
我知道有params
函数,但我找不到任何关于如何使用它的示例。
答案 0 :(得分:3)
param <key>
和params
都是镜头:
param :: Text -> Lens' Options [Text]
params :: Lens' Options [(Text, Text)]
没有太多细节,你可以想到一个镜头聚焦的东西,例如param "foo"
侧重于属于参数[Text]
(*)的Options
中的foo
个(.~)
。然后,您可以使用正确的函数更改/查询/操作这些值(请参阅lens包)。
您已使用params
替换当前值,并且可以使用default & params .~ [("key1", "value1"), ("key2", "value2"), ("key3", "value3")]
再次使用它:
(.~)
您可以在此上下文中将(.~) :: Lens' a b -> b -> a -> a
-- concrete:
(.~) :: Lens' Options [(Text, Text)] -> [(Text, Text)] -> Options -> Options
视为
function resetCombo(combo) {
document.getElementById(combo).value = document.getElementById(combo).options[0].value;
}
(*)这不是100%真实,因为镜头可以让你做各种各样的事情,但足够好用于这种情况。