【问题标题】:Changes in terminology for Swift function parameter labelsSwift 函数参数标签的术语变化
【发布时间】:2016-11-19 12:52:22
【问题描述】:

Swift 提供了为函数的参数提供内部和外部名称/标签的能力。但最近苹果似乎只使用“参数”和“参数”名称/标签,并放弃使用内部/外部来描述这些东西。

在 Swift 文档和 WWDC 视频中,有一些不清楚的努力来描述函数的参数和参数之间的区别,但没有将这些称为向外或内部,such as

每个函数参数都有一个参数标签和一个参数 姓名。调用函数时使用参数标签;每个 参数用参数标签写在函数调用中 在它之前。参数名称用于实现 功能。默认情况下,参数使用其参数名称作为 参数标签。

想象一个jump() 函数。

在内部,“when”和“height”的名称可能不同,这些是内部名称。除了函数定义和声明中的顺序之外,外部和内部似乎一点也不混乱:

 func jump(_ who: String, whenToJump when: Float, howHigh height: Int){
        // wait for whenToJump
       // adjust who.y by howHigh
    )

在 Apple 所指的意义上,其中哪些是参数,哪些是参数?

【问题讨论】:

标签: swift function parameters terminology


【解决方案1】:

所有内容都在章节中详细描述 函数参数标签和参数名称

The Swift Programming Language (Swift 3)

简单来说Swift 2Swift 3的区别是

  • “外部名称”(Swift 2) 现在是“函数参数标签”(Swift 3)
  • “内部名称”(Swift 2) 现在是“参数名称”(Swift 3)
  • (Swift 2)中,第一个参数默认为_ name(内部,但没有外部)
  • (Swift 3)中,第一个参数默认为name name(函数参数标签和参数名称)。

【讨论】:

  • 所以函数参数标签是第一个,参数名称是第二个。谢谢!!!
  • 这很奇怪。这基本上是这些术语的标准用法的倒退——至少在 C 中。
  • @JoshCaswell 我猜 Swift 之父并没有将 Swift 创建为 C 的超集
  • 确实如此,但是通过给它一个新名称来区分相似的概念与只是颠倒现有名称的含义是有区别的。我不认为斯威夫特应该是一场马克思主义革命。 :)
  • @JoshCaswell 是的......我的想法也希望他们反过来。正在重播视频并重新阅读 Apple 文档,然后在理解上倒退。
猜你喜欢
  • 2017-12-11
  • 1970-01-01
  • 2017-09-03
  • 2020-01-19
  • 2015-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-01
相关资源
最近更新 更多