将类方法转换为Ruby中proc的惯用方式

乔治·西姆斯

假设我要描述Kernel.puts使用Proc。我该怎么做?

我可以想到很多可能性;

Proc.new do |*args| Kernel.puts *args end
:puts.to_proc.curry[Kernel] # doesn't work, returns `nil` as puts is varargs

但是两者都很冗长。

耶兹

您想要的method是什么?它可以让您将方法保存到变量。

2.1.0 :003 > m = Kernel.method(:puts)
 => #<Method: Kernel.puts>
2.1.0 :004 > m.call('hi')
hi

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当类依赖于隐式时,是否有惯用的方法将类转换为对象?

如何在Rust中以最惯用的方式将Option <&T>转换为Option <T>?

是否有更惯用的方式将json转换为Crystal中的特定哈希类型?

将String转换为&str的惯用方式是什么?

Kotlin-将列表转换为MutableList的最惯用方式

将Akka来源转换为Spark InputDStream的惯用方式

将class <T>转换为class <const T>的惯用方式

将Dict数组转换为DataFrame的惯用方式是什么

在Scala中,对将枚举值转换为字符串的Seq进行模式匹配的最惯用的方式是什么?

在Python类中实现克隆方法的正确惯用方式?

将Dagger Module类中的Static方法转换为Kotlin

Python:将None转换为空字符串的最惯用方式?

将引用的Vec转换为值的Vec的惯用方式是什么?

将字符串转换为其他任何原始类型的惯用方式

将字符串数组转换为字节数组的惯用方式

如何以 Rust 中最惯用的方式将 Option<T> 转换为 Option<&T>?

将&i64转换为&[u8;的惯用方式是什么?8]?

将ruby rails模型类转换为lib文件夹中的类

如何在Ruby中将方法转换为proc以用于&method

在Java中安全地从Long对象转换为long原语的惯用方式

将ruby方法从method()转换为().method

将namedtuple转换为数据类Python方式

在 Ruby 中,使用 split 和 map 将字符串输入转换为 2d int 数组(即矩阵)的惯用且干净的改进

在Kotlin中将列表转换为成对的惯用方式

从扫描仪转换为io.Reader的惯用方式

将Seq [Either [String,Int]]转换为(Seq [String],Seq [Int])的有效和/或惯用方式

将 Result 转换为自定义 Fail impl 的惯用方法是什么?

将SQL ResultSet转换为Scala列表或其他集合类型的更好,更惯用的方法吗?

将Perl转换为Ruby-模块与类