在 Ruby 中计算导数 ([i] - [i - 1])
使用 for 循环或each_with_index 很简单,只是想知道是否有更好的方法使用 Ruby 语法来做到这一点。
我需要创建一个新数组,它是源数组的导数,例如:
for(int i = 1; i < oldArray.length; i++)
{
newArray[i] = oldArray[i] - oldArray[i-1]
}
Trivial using a for loop or each_with_index, just wondering if there was a better way of doing it using Ruby syntax.
I need to create a new array that is the derivative of the source array, eg:
for(int i = 1; i < oldArray.length; i++)
{
newArray[i] = oldArray[i] - oldArray[i-1]
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用块大小为 2 但没有块的情况调用
Enumerable#each_cons
会返回一个枚举器,它将迭代old_array
中的每对连续元素。 然后我们只需使用map
对每对执行减法。Enumerable#each_cons
called with with a chunk size of 2 but without a block returns an Enumerator which will iterate over each pair of consecutive elements inold_array
. Then we just usemap
to perform a subtraction on each pair.