`
Hooopo
  • 浏览: 335231 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

很诡异..each_slice

    博客分类:
  • Ruby
阅读更多
C:\ruby>ri each_slice
-------------------------------------------------- Enumerable#each_slice
     e.each_slice(n) {...}
------------------------------------------------------------------------
     Iterates the given block for each slice of <n> elements.

     e.g.:

         (1..10).each_slice(3) {|a| p a}
         # outputs below
         [1, 2, 3]
         [4, 5, 6]
         [7, 8, 9]
         [10]


可是当我在irb:
irb(main):001:0> (1..10).each_slice(3) {|a| p a}
NoMethodError: undefined method `each_slice' for 1..10:Range
        from (irb):1
irb(main):002:0>

怎么回事呢?
1
0
分享到:
评论
4 楼 Hooopo 2009-06-16  
night_stalker 写道

enumerator.so 里面给 Enumerable 模块增加了一些方法:C代码 rb_define_method(rb_mEnumerable, "each_slice", enum_each_slice, 1);  rb_define_method(rb_mEnumerable, "each_slice", enum_each_slice, 1);
而 Range 本身包含 Enumerable:Ruby代码 01> (1..3).is_a? Enumerable  #=> true  01> (1..3).is_a? Enumerable
#=> true
1.9 以后,就默认包含 enumerator,不用 require 了。

原来是enumerator.so里面的方法。我以为each_slice和map等一样呢。
Enumerable里的方法都很不错..哈哈
3 楼 night_stalker 2009-06-16  
enumerator.so 里面给 Enumerable 模块增加了一些方法:
rb_define_method(rb_mEnumerable, "each_slice", enum_each_slice, 1);


而 Range 本身包含 Enumerable:
01> (1..3).is_a? Enumerable
#=> true


1.9 以后,就默认包含 enumerator,不用 require 了。
2 楼 Hooopo 2009-06-16  
enumeratable是标准库..为什么要require呢/
1 楼 Hooopo 2009-06-16  
引用

undefined method `each_slice' for :Array 加上这个就可以了:require 'enumerator'. 但是在ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]下没有问题 ...
wanguan2000.blog.ubuntu.org.cn/category/rails/ - 网页快照 - 类似网页

相关推荐

    025.Python字符串_切片slice操作_逆序.mp4

    025.Python字符串_切片slice操作_逆序.mp4

    ByteArray-Scale-Bitmap.rar_ByteArray_slice

    "ByteArray-Scale-Bitmap.rar_ByteArray_slice" 提供了一种利用ByteArray来处理9-slice Bitmap缩放的技术,这对于优化GUI性能和适应不同屏幕尺寸至关重要。9-slice缩放是一种特殊的图像拉伸方法,它确保了图片在放大...

    video-coding_mini-project_H.264.rar_264_H.264_H.264-matlab_h.264

    5. 语法元素:H.264定义了丰富的语法元素,如Slice、Picture、Macroblock等,用于描述视频数据的结构和内容。 6. 动态范围扩展与颜色空间转换:H.264支持YUV 4:2:0、4:2:2、4:4:4等多种采样格式,以及高动态范围...

    OSPF.rar_ospf_ospf protocol flash_slice

    本资料包"OSPF.rar_ospf_ospf protocol flash_slice"显然是针对OSPF协议的学习资源,其中包含"OSPF.pdf"这一文档,很可能是详细讲解OSPF协议原理、配置和应用的教程。 OSPF协议是基于链路状态路由算法的,它工作在...

    bit_plan_slicing-.zip_matlab slice_slice_slice matlab

    标题"bit_plan_slicing-.zip_matlab slice_slice_slice matlab"以及描述"this .m file describes how to slice the image into 8 layers"揭示了主要话题,即如何用MATLAB将图像分割成8个位平面。 位平面切片是一种...

    xilinx Spartan6系列FPGA产品规格书术datasheet配置说明技手册等资料合集.zip

    xilinx Spartan6系列FPGA产品规格书datasheet配置说明技术手册等资料合集,包括: ...ug389_Spartan-6 FPGA DSP48A1 Slice.pdf ug393_Spartan-6 FPGA.pdf ug394_Spartan-6 FPGA Power Management.pdf

    analysis-on-differnt-images.rar_fake_fake detection_slice_tumor_

    Analysis on different images for tumor detection but these are fake images u need to keep in mind that the slice of both images should be same

    pcl中程序cpp及点云数据

    noisy_slice_displaced.pcd octants.pcd octree office1_keypoints.pcd office2_keypoints.pcd outofcore pcl_logo.pcd people recognition registration rops_cloud.pcd rops_indices.txt rops_triangles.txt sac_...

    H.264 Slice header syntax 成员值含义学习

    在H.264视频编码标准中,"Slice header syntax"是编码图像的重要组成部分,它定义了如何组织和处理图像的各个部分,即所谓的“条带”或“切片”。以下是对标题和描述中提到的一些关键成员值的详细解释: 1. **pic_...

    Go.rar_Go_ Go_ Go!_golang

    _golang"这个压缩包中,主要包含了一个名为"Go.pdf"的文件,这很可能是关于Go语言的基础教程或指南。下面将详细介绍Go语言的一些核心知识点: 1. **语法结构**:Go语言的语法简洁明了,与C语言类似,但更注重代码的...

    Time_slice_cycle.zip_slice

    在这个"Time_slice_cycle.zip_slice"压缩包中,我们找到了一个与操作系统进程调度算法相关的程序设计示例,特别适用于操作系统课程的初学者进行学习和实践。这个程序设计的目标是实现时间片轮转调度算法,这是一种...

    plot_his.rar_plot_his_剪切波_剪切波模拟_数值模拟

    绘图部分,`plot_his.m`可能会使用MATLAB的`imagesc`、`surf`、`slice`等函数,来展示剪切波的传播过程和振幅分布。例如,`imagesc`可以用于绘制二维切片的振幅图像,而`surf`则适用于三维视图。此外,`contourf`或`...

    JS.rar_Jscript_js

    例如,可能会详细介绍Array对象的方法,如push、pop、shift、unshift、slice、concat等,以及Date对象的方法,如getFullYear、getMonth、getDate等。 总的来说,这个资源对于深入学习JScript和JavaScript的开发者来...

    Untitled.rar_Untitled_matlab 光_光强_光强分布_光强提取

    "Untitled.m"很可能是实现这一功能的MATLAB脚本。在这个脚本中,开发者可能首先使用`imread`函数读取“lx5.jpg”图像,将图像数据存储到一个矩阵中。然后,可能使用`rgb2gray`函数将彩色图像转换为灰度图像,因为...

    Matlab-M-File03.rar_26.2_透视定位

    1. **片状图(Slice Plot)**: 片状图是一种用于展示多维数据的方法,它可以从不同角度切取数据的“切片”,帮助我们理解数据在三维空间中的分布。在MATLAB中,可以使用`slice`函数创建片状图,通过指定x、y、z轴...

    slice_non_const.rar_slice

    在描述中提到的"update a parameter entry in the local temp map obj."很可能指的是在QCameraParameters的实例中,修改一个暂时存储的参数映射表中的某一项。 `QCamera3HALHeader.c`文件可能包含了Android硬件抽象...

    Python-内置数据类型.zip

    ==================内置数据类型========================= 第二章 009.程序的构成 010.对象的基本组成和内存示意图 011.引用的本质_栈内存和堆...025.字符串_切片slice操作_逆序 026.字符串_split()分割_join()合

    [hook.js]通用Javascript函数钩子

    [bool]hook:params{ realFunc[String|must]:用于保存原始函数的函数...String.prototype.slice.unhook("_slice","slice",String.prototype); var str = "pnig0s"; str.slice(1); myHooks.cleanEnv(); //clear hooks

    基于PHP中的常用函数回顾

    36. **current, each, end, next, pos**:这些函数用于处理数组的内部指针,便于在循环中遍历数组。 37. **extract**:将数组中的元素导入到当前符号表中,成为变量。 38. **in_array**:检查数组中是否存在指定的...

    037.Python列表_切片slice操作.mp4

    037.Python列表_切片slice操作.mp4

Global site tag (gtag.js) - Google Analytics