r - 在 R 中向量化一个柯里化函数
问题描述
我无法理解 R 是如何工作的,而且我开始认为它不是。
我正在使用一个咖喱函数g
,我想对其进行矢量化并获得多个值。我的第一次尝试是h1
失败。但是h2
确实有效,但我不明白为什么。
# Example function
f <- function(a, b) { return(prod(a, b)) }
# Curried function
g <- Curry(f, b=2)
# Vectorize functions
h1 <- Vectorize(g)
h2 <- Vectorize(function(x) return(g(x)))
# Result values
h1(c(1,2,3)) # returns unexpected result 12
h2(c(1,2,3)) # returns expected result c(2, 4, 6)
为什么包裹g
在里面function(x) return(g(x))
工作?
解决方案
推荐阅读
- ruby-on-rails - Rails 如何对一个模型的多个请求执行 SQL 查询?
- c# - unity旋转转换
- node.js - NodeJS 异步回调已被调用
- reactjs - 如何创建动态样式的组件?
- react-native - 如何在 React Native 中使用动态样式类
- javascript - 如何使用异步生成器功能使客户端超时?
- azure - Azure Sphere 如何在嵌入其他 MCU 的混合系统中提供安全性?
- php - 将数据加载到 html 类中
- c - 为什么我的 C 程序没有得到想要的输出?
- javascript - javascript 变量未在表单中显示 codeigniter 的验证错误