Swift:用另一个函数

时间:2015-05-15 19:04:36

标签: function swift functional-programming nested closures

我试图使用辅助函数在同一个上下文中调用输入上下文敏感函数。在名为' drawGrid()'的类函数的上下文中。我有以下代码和图像中看到的drawGrid()的结束括号。我称输入不纯' drawLine()'用' drawQ1Line()'。我打电话给'drawQ1Line()'在定义drawLine()的上下文中。也许即使这是合乎逻辑的,它也不是由Swift语言推断的东西,我需要知道如何正确处理嵌套调用。

我查看了收到的具体错误,并找到了一些关于使用闭包的建议。根据我的理解,闭包本质上是状态函数,但是,我不确定输入/输出纯度的限制是否相同或者它在类级别上的确切关系。然而,这似乎并不是我的问题的解决方案,因为我不一定对保持状态感兴趣,而只是简单地使用辅助函数来调用另一个。事实上,我很好奇,如果'塑造'和' pathToDraw'可以正常调用,因为它们当前是,而不是作为状态存储在闭包中,即使这将修复我当前的错误。如果我需要调用一个函数来代替SKShapeNode()取决于输入,值的变化或输出杂质,我该怎么办?然后只是保存价值不会起作用。

enter image description here

1 个答案:

答案 0 :(得分:0)

Swift是一种愚蠢的语言:-(在你的内部ERROR: ValueError: object too deep for desired array [numpy.core.fromnumeric] Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/users/zpace/python-personal/plotting_tools.py", line 233, in rejection_sample_2d print np.repeat(coords, number[:,:,np.newaxis]) File "/usr/local/lib64/python2.7/site-packages/numpy/core/fromnumeric.py", line 390, in repeat return repeat(repeats, axis) ValueError: object too deep for desired array 参数中使用唯一的名称。喜欢

repeat()

我在Playground尝试使用此代码:

func

,而

func drawQ1Line(heightA:CGFLoat, xA:CGFloat, x2A:CGFloat....
  drawLine(xA, hegihtA- ...

抛出编译器错误