gpt4 book ai didi

functional-programming - 使用条件查询参数构建 URL

转载 作者:行者123 更新时间:2023-12-04 01:18:02 25 4
gpt4 key购买 nike

我有这样简单的 url 构建器:

prepareUrl : Params -> String
prepareUrl params =
Url.crossOrigin "http://someapi.com/"
["posts"]
[
, Url.string "currency" params.currency
, Url.string "members[0][birthday]" "12.12.1989"
]

当我收到像 membersCount 2 或 3 等参数时,我需要像这样在请求中“克隆”members[]:

params.membersCount = 3

prepareUrl : Params -> String
prepareUrl params =
Url.crossOrigin "http://someapi.com/"
["posts"]
[
, Url.string "currency" params.currency
, Url.string "members[0][birthday]" "12.12.1989"
, Url.string "members[1][birthday]" "12.12.1989"
, Url.string "members[2][birthday]" "12.12.1989"
]

日期字符串本身可以保持不变,没关系。我该怎么做?

最佳答案

由于 Url.Builder.crossOrigin 的第三个参数采用 QueryParameter 值列表,您可以构建从 0memberCount 使用 List.range:

prepareUrl : Params -> String
prepareUrl params =
Url.crossOrigin "http://someapi.com/"
["posts"]
(Url.string "currency" params.currency :: birthdayParams params.memberCount)

birthdayParams : Int -> List Url.QueryParameter
birthdayParams memberCount =
List.range 0 (memberCount - 1)
|> List.map (\i -> Url.string ("members[" ++ String.fromInt i ++ "][birthday]") "12.12.1989")

关于functional-programming - 使用条件查询参数构建 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53739882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com