函数式编程中的高阶函数与日志系统构建
1. 函数应用与部分应用
1.1 函数应用
函数应用是指使用一系列参数调用函数,与语法约定所表示的函数调用不同。在 Ruby 和 Python 中,可以通过在参数引用前加星号将函数应用于数组或列表参数。例如在 Ruby 中:
>> interval = [-10, 10]
=> [-10, 10]
>> Range.new(*interval)
=> -10..10
>> h = {}
=> {}
>> pair = ['a', 5]
=> ["a", 5]
>> h.store(*pair)
=> 5
>> h
=> {"a"=>5}
在 Clojure 中,可以使用 apply 实现函数应用:
(apply hash-map [:a 5 :b 6])
;= {:a 5, :b 6}
apply 还允许在参数序列前添加任意数量的显式参数,避免创建包含离散值的新序列。例如:
(def args [2 -2 10])
;= #'user/args
(apply * 0.5 3 args)
;= -60.0
超级会员免费看
订阅专栏 解锁全文
801

被折叠的 条评论
为什么被折叠?



