gpt4 book ai didi

xcode - 函数在 Swift 2 中不起作用。(已定义变量的标识符未解析)

转载 作者:行者123 更新时间:2023-11-30 10:11:37 25 4
gpt4 key购买 nike

我正在尝试从 Python 背景开始学习 Swift 2。开始制作一个非常简单的函数来计算 G 和 C。我在 var length: Float = Float(SEQ.characters.count)

行上收到 Use of unresolved identifier 'SEQ'

我做错了什么?它肯定是在函数的开头定义的吗?

尝试了以下帖子:

Swift Use of unresolved identifier 'UIApplicationStateInactive'

Swift - Use of unresolved identifier

func GC(input_seq: String) -> Float {
let SEQ = input_seq.uppercaseString
var counter = 0.0
for nt in SEQ.characters {
if (nt == "G") {
var counter = counter + 1
}
if (nt == "C") {
var counter = counter + 1
}
}
}
var length: Float = Float(SEQ.characters.count)

return counter/length
}

let query_seq = "ATGGGGCTTTTGA"
GC(query_seq)

最佳答案

你做错了几件事。

  1. 您正在创建一个 Double 计数器(不是您可能想要的 Float 计数器):var counter = 0.0

你确实需要它作为一个整数,因为它是一个计数器。您可以稍后将其转换为 Float。 var counter = 0 将创建一个 Int 变量

  • 您正在 if block 中创建第二个和第三个局部变量:

    if (nt == "G") {
    var 计数器 = 计数器 + 1
    }

  • 我认为您不了解基础知识,从头开始阅读 Swift 书籍可能会对您有所帮助。

  • 这确实是一项改进 - 您可以使用简写:
  • counter = counter + 1counter += 1 甚至 counter++

    这是您的代码的工作版本:

    func GC(input_seq: String) -> Float {
    let SEQ = input_seq.uppercaseString
    var counter = 0
    for nt in SEQ.characters {
    if (nt == "G") {
    counter++
    }
    if (nt == "C") {
    counter++
    }
    }

    return Float(counter)/Float(SEQ.characters.count)
    }

    let query_seq = "ATGGGGCTTTTGA"
    GC(query_seq)

    希望这有帮助。

    关于xcode - 函数在 Swift 2 中不起作用。(已定义变量的标识符未解析),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32678276/

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