【问题标题】:Function parameters syntax in JuliaJulia 中的函数参数语法
【发布时间】:2018-06-12 06:14:27
【问题描述】:

HTTP.jl 库提供了函数HTTP.request 具有以下签名HTTP.request(method, url [, headers [, body]]; <keyword arguments>])

我不确定这个语法是什么意思 url [, headers [, body]]

特别是,我想做的是发出一个 GET 请求,例如:https://example.org/api?api_key=my_api_key 所以我打电话给:HTTP.request("GET", "https://example.org/api")

现在如何在标题中指定我的api_key

【问题讨论】:

  • 通常在编程中使用方括号的符号表示可选参数,使用尖括号表示必需的参数,其中需要明确表示。对于您的特定示例,您可以调用此方法,例如 request(method, url)request(method, url, headers) 或 request(method, url, headers, body),但不能调用 request(method, url, body)。此外,您在上面缺少一个方括号,所以我不知道关键字参数本身是可选的还是使用标题时是必需的。
  • 请注意,此符号是一种描述“语法”的符号,适用于人类用户,而不是“代码”。如果您在刚刚发布的链接中查找第 296 行的函数定义,您可以确认此表示法是指可选的位置参数和可选的关键字参数。
  • @TasosPapastylianou 对不起。我对编程相当陌生,不知道这种表示法。谢谢!

标签: http-headers httprequest julia


【解决方案1】:

你会这样做:

julia HTTP.request("GET", "https://example.org/api"; query = Dict(:api_key => "my_api_key"))

【讨论】:

  • 啊!我直接在HTTP.request("GET", "https://example.org/api", Dict(:api_key => "my_api_key")) 中传递了这个查询参数,因为我认为它不是关键字参数。谢谢!
  • @kishlaya 请注意,在 julia 中,关键字参数可以与函数定义中的位置参数区分开来,因为它们用分号分隔。当您调用该函数时,您可以使用相同的语法,但您没有必须,您可以简单地在第一个关键字参数之前使用逗号;但是使用分号是一种很好的风格。
猜你喜欢
  • 1970-01-01
  • 2021-04-29
  • 2016-05-16
  • 1970-01-01
  • 2019-12-07
  • 2021-10-04
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
相关资源
最近更新 更多