可以解释下这行代码是什么意思吗?
可以解释下这行代码是什么意思吗?
为什么可以这样写?
为什么要写成这样?
fun log(tag: String)
= fun(target: OutputStream)
= fun(message: Any?)
= target.write("[$tag] $message\n".toByteArray())
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
既然你给这个问题打了
currying
这个标签,我很奇怪你为什么不知道这就是一般柯里化的写法。log
函数接收一个tag
参数,然后返回一个接收target
参数的匿名函数,这个匿名函数又会返回一个接收message
的匿名函数,最后这个函数使用前面接收到的三个参数来完成write
操作。这个函数在调用的时候需要连着调,像这样: