Swift相当于Ruby的“收益”

亚历克斯·摩尔·涅米

我是Swift的新手,具有Ruby背景。我想知道是否有一种方法可以执行以下操作:

def completion_handler response, &block
  yield response
end

extracted = proc {|r| puts r}

completion_handler "response", &extracted
response
=> nil

我在搜索时遇到了一些麻烦,因为yield大多数情况下会调出序列生成器,我不认为这是我现在正在寻找的东西。我主要想知道这是否可行,因为有时我希望能够将块提取到proc对象。在Swift中,闭包对我来说就像一个障碍。是否有类似proc对象的提取?

约拿

Swift闭包与Ruby Lambdas非常相似。它们是具有一组定义的参数的对象,这些参数返回到它们的调用范围(与不检查参数计数以及areturn可以在调用范围内转义的非对象Ruby块或Ruby Procs不同)。

因此,没有真正的对yield等物。接受闭包参数的Swift函数使用带括号的参数列表显式调用闭包。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

相当于valueForKey的Swift:

来自分类Dev

Swift相当于inputStream

来自分类Dev

相当于ruby Gem文件的Python

来自分类Dev

Ruby的Python的defaultdict相当于什么?

来自分类Dev

相当于Java中的Ruby Hash

来自分类Dev

相当于Ruby中chmod + x

来自分类Dev

相当于Ruby'is_a?'的Python

来自分类Dev

PHP相当于Ruby的拯救

来自分类Dev

相当于Ruby的`send`的Javascript

来自分类Dev

Swift相当于Ceilf for CGFloat

来自分类Dev

iOS / Swift相当于Android LayoutInflation

来自分类Dev

相当于(__bridge NSArray *)的Swift

来自分类Dev

相当于@protocol(DelegateType)的Swift

来自分类Dev

iOS / Swift相当于Android LayoutInflation

来自分类Dev

相当于Swift中的[obj class]?

来自分类Dev

相当于DCMPLX?

来自分类Dev

相当于$ .on的Javascript

来自分类Dev

相当于 $@ 的 Windows

来自分类Dev

Python相当于F#的收益率!(产量大爆炸)?

来自分类Dev

Haskell相当于Ruby的slice_when

来自分类Dev

相当于Ruby的each_with_index的Python吗?

来自分类Dev

Julia相当于Ruby的each_cons

来自分类Dev

相当于C#BitConverter.ToSingle的Ruby

来自分类Dev

相当于Ruby Array.each方法的Python

来自分类Dev

相当于PERL Carp-> cluck($ msg)在Ruby中

来自分类Dev

相当于Ruby Object.methods()的Javascript

来自分类Dev

Dart相当于Ruby的instance_eval

来自分类Dev

相当于Ruby Time.now.to_i PHP

来自分类Dev

扩展Scala特性的对象。相当于Ruby?