问:问题要求我:创建一个名为result的变量,并将其分配给函数greeting返回的元组。(注意:将字符串“ Tom”传递给问候函数。)
我已经将我的代码复制到Xcode中,并且看起来可以运行,但是不能在此测试浏览器环境中进行编译。
当我转到“预览”窗格时,它告诉我我的表达式解析为未使用的l值。
那是什么?以及如何解决该问题?
元组
func Greeting (人: 字符串) -> (问候: 字符串, 语言: 字符串) {
let language = (“ English” )let greeting = = (“ Hello \(person )” ,“ speak \(language )” )返回问候语} var结果=问候语(“ Tom” )
答:您有一个非常有趣的解决方案(在将其返回之前将其分配给常量)。您可能会收到错误的原因是,质询要求返回一个元组值(该元组的第二个值仅包含语言)。这是您的代码段中的问题
let greeting = = (“ Hello \(person )” , “ speak \(language )” ) //这将返回一个值的元组(“ Hello Tom”,“ Speak English”)
要解决此问题,请删除字符串“ speak”。所以你有了:
let greeting = (“你好\(人)” , “ \(语言)” )
这是解决此问题的更常用方法(原因为何您的解决方案如此独特):
func greeting (person : String ) -> (greeting : String , language : String ) {
let language = “ English” let greeting = “ Hello \(person )” //这只是问候字符串,而不是元组return (Greeting ,language )//返回值正在创建一个元组} var result = greeting (“ Tom” )