无法执行命令:已杀
我正在使用IBM的在线Swift沙箱 ,我正在尝试运行此代码,但它给了我一个错误:
代码:
var a: Double = 1.0 var b: Double = 2.0 var c: Double = 3.0 var x: Double = 0.0 func x_func(a_var: Double, b_var: Double, c_var: Double) -> Double { x = (-b + (b^2 - 4*a*c)^(1/2))/(2*a) return x } print(x_func(a_var: a, b_var: b, c_var: c)) print(a) print(b) print(c)
错误:
:0: error: unable to execute command: Killed :0: error: compile command failed due to signal (use -v to see invocation)
有人可以帮我弄清楚出了什么问题吗? 我是Swift的新手,所以我在这里看不到错误。
当你想使用指数时尝试使用pow
, ^
不能与Swift一起使用。 使用Swift ^
生成按位异或 – 不是指数。
import Foundation var a: Double = 1.0 var b: Double = 2.0 var c: Double = 3.0 var x: Double = 0.0 func x_func(a_var: Double, b_var: Double, c_var: Double) -> Double { x = (-b + pow((pow(b, 2) - 4*a*c), 1/2))/2*a return x }
确保在使用IBM Sandbox或HackerRank之类的东西时导入Foundation框架! 我知道这很容易忘记,如果你这样做会引起很多麻烦。
另外,除非你在你的x_func
方法中进行额外的计算,否则你要求传递的参数是你甚至不使用的。 您可以删除属性,或者更改函数以不接受任何变量 – 删除属性并将其更改为以下内容可能更有效:
import Foundation func x_func(a: Double, b: Double, c: Double) -> Double { x = (-b + pow((pow(b, 2) - 4*a*c), 1/2))/2*a return x }