请问一个关于Array的sample方法的问题

问题描述

请教一下,我刚刚开始学习ruby,想使用 array的sample方法,item = ["a","b","c","d"].samplep items但是运行的时候总是出现以下错误undefined method `sample' for ["a", "b", "c", "d"]:Array (NoMethodError)但是我在 irb上输入["a","b","c","d"].sample的时候可以正常执行。为什么呢?需要require 什么文件才能用这个方法? 可是array的其他方法都可以正常使用呀. 问题补充:jsntghf 写道

解决方案

我刚刚试过,没有问题你确认,你是这样试的吗?1. irb可以用2. 立即创建一个tmp.rb文件里面写item = ["a","b","c","d"].samplep items 3. ruby tmp.rb是这样吗?
解决方案二:
ruby-1.9.2-p290 :002 > %w('a' 'b').sample=> "'a'"
解决方案三:
同意查一下运行环境的ruby版本ruby-1.8.7-p352 :002 > %w('a','b').sampleNoMethodError: undefined method `sample' for ["'a','b'"]:Arrayruby-1.9.2-p290 :001 > %w('a','b').sample => "'a','b'"
解决方案四:
这个方法是有的,在ruby1.9的array.c里,如果不是ruby1.9的话就会报错。

时间: 2024-10-22 19:43:29

请问一个关于Array的sample方法的问题的相关文章

判断一个变量是数组Array类型的方法_javascript技巧

在很多时候,我们都需要对一个变量进行数组类型的判断.JavaScript中如何判断一个变量是数组Array类型呢?我最近研究了一下,并分享给大家,希望能对大家有所帮助. JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Array的对象就不起作用了. 复制代码 代码如下: alert(typeof null); // "object" alert

JS 操作Array数组的方法及属性实例

 本篇文章主要是对JS操作Array数组的方法及属性进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 本文总结了Array数组的3个属性,length 属性.prototype 属性.constructor 属性使用,并附注数组对象的8个分类及多个方法使用,具体如下:   对象的3个属性 1.length 属性   length 属性 Length属性表示数组的长度,即其中元素的个数.因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1.和其他大多数不同的是

ios-iOS:请问一个线程涉及2个类,如何向该线程performSelecto?

问题描述 iOS:请问一个线程涉及2个类,如何向该线程performSelecto? 我有一个线程,这线程首先是在a类中创建,并调用a类的a1方法,而a1方法又调用了b类的b1方法. 我在c类中,想向该线程发通知,希望其调用b类的b2方法, 我的代码: [self performSelector:@selector(b2) onThread:m_thread withObject:nil waitUnitilDone:NO]; 提示:unrecognized selector to instan

css-把一个元素移出视线的方法

问题描述 把一个元素移出视线的方法 就是把一个元素隐藏,类似的方法如 display:none;请问还有没有其他方法 解决方案 remove或者 隐藏,看你的需求了 解决方案二: visibility: hidden; 解决方案三: visibility:hidden display:absolute;top:-999999999px 解决方案四: 引用jquery的话,class='hide' 解决方案五: 元素的宽.高设置为0

请问一个关于android 传参的问题

问题描述 请问一个关于android 传参的问题 String szSrc = "6162636465666768696a6b6c313233343536373839313233" ; byte[] encoded = ThreeDes.encryptMode(keyBytes, szSrc.getBytes()); 之前在oncreate中调用类 ( ThreeDes )中的一个( encryptMode(keyBytes, szSrc.getBytes()); )方法传一个参数sz

一个对于Array的简单扩展_javascript技巧

其实就是 prototype 1.4中 枚举对象部分 的简化版本,  先贴代码,等下再一一解释,对初学者可能有帮助  最近一直在学习Python,一直感叹于python中 list的灵活,  同样都是数组,为什么javascript不能和python中的一样灵活呢,  (其实下面这些 prototype 1.4已经实现了,不过 prototype太胖了,你知道的,我对胖女人不感兴趣)  于是就有了下面的代码.....   复制代码 代码如下: <script> Array.prototype.

JavaScript数组对象实现增加一个返回随机元素的方法_javascript技巧

本文实例讲述了JavaScript数组对象实现增加一个返回随机元素的方法.分享给大家供大家参考.具体如下: 核心特性: 概率随机.顺序随机.随机冒泡 本方法 来自个人手写 JavaScript 的实践,只涉及 JavaScript 1.5(ECMAscript 3 国际标准)语言本身,在所有 JS 引擎实现中通用~ 为Array对象新增random方法: (function () { function Random_SN(iArray) { return Math.floor(Math.rand

请问一个java文件操作中的中文文件名问题。

问题描述 您们好,我想请问一个java文件操作中的中文文件名的问题.我用File方法获得一个目录下全部文件的列表,并且想给列表中的文件进行解压缩处理.可是当处理一些文件名中包含中文全角或半角字符的压缩文件时,就会提示找不到文件.我就是用普通的FileenumFileOper=newFile(SourceAbsPath);File[]sub=enumFileOper.listFiles();来处理文件的,可是如果文件中包含中文全角或半角字符,在接下来的处理中就找不到文件呢.我是在JavaClass

Python计算一个文件里字数的方法

 本文实例讲述了Python计算一个文件里字数的方法.分享给大家供大家参考.具体如下: 这段程序从所给文件中找出字数来. ? 1 2 3 4 5 6 7 8 9 10 11 12 from string import * def countWords(s): words=split(s) return len(words) #returns the number of words filename=open("welcome.txt",'r') #open an file in rea