无法执行命令:已杀死

时间:2017-02-03 15:10:54

标签: ios swift syntax swift3

我正在使用IBM的online Swift sandbox而我正在尝试运行此代码,但它给了我一个错误:

代码:

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)

错误:

<unknown>:0: error: unable to execute command: Killed
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)

有人可以帮我找出错误吗?我是Swift的新手,所以我不会在这里看到错误。

1 个答案:

答案 0 :(得分:4)

如果您想使用指数,请尝试使用pow^不能与Swift一起使用。使用Swift ^产生按位XOR - 而不是指数。

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

}