• 关于

    Ruby哈希(Hash)

    的搜索结果

回答

有一种in?方法在ActiveSupport(滑轨的一部分),因为V3.1,如通过@campaterson指出。因此,在Rails中,或者,如果您可以require 'active_support',您可以编写: 'Unicorn'.in?(['Cat', 'Dog', 'Bird']) # => false OTOH,Ruby本身没有in运算符或#in?方法,即使以前已经提出过,特别是由红宝石核心的顶尖成员远藤裕介提出的。 如其他人指出的那样,反向方法include?存在,所有Enumerable小号包括Array,Hash,Set,Range: ['Cat', 'Dog', 'Bird'].include?('Unicorn') # => false 请注意,如果您的数组中有很多值,则将一个接一个地检查所有值(即O(n)),而对哈希的查找将是固定时间(即O(1))。因此,例如,如果数组是常量,则最好使用Set。例如: require 'set' ALLOWED_METHODS = Set[:to_s, :to_i, :upcase, :downcase # etc ] def foo(what) raise "Not allowed" unless ALLOWED_METHODS.include?(what.to_sym) bar.send(what) end 一个快速测试表明,调用include?一个10元的Set约3.5倍比调用它的等效快Array(如果未找到该元素)。 最后的闭注:使用时要小心include?上Range,也有细微之处,所以要参考的文档,并与比较cover?... 问题来源于stack overflow

保持可爱mmm 2020-01-08 17:21:36 0 浏览量 回答数 0

问题

在Ruby中遍历数组的“正确”方法是什么?

保持可爱mmm 2020-01-15 16:52:22 0 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站