Ruby是一种优雅的方法,可以将卡阵列处理为玩家对象

我很难找到一个优雅的ruby方法来做这件事。我有一个包含52张牌对象的牌组数组,我想在上面迭代并循环通过玩家对象数组,一次处理一张牌到他们的手牌数组中。比如: deck = Card.deck.shuffle! deck.each do |card| @players.NEXTELEMENT.hand << card end deck=Card.deck.shuffle! 每一张牌| @players.NEXTELEMENT.hand怎么样 deck.each_slice(

Ruby FTP sendcmd错误

此代码返回以下错误 ftp = Net::FTP.new(IPAddress) ftp.login(UserName, Password) ftp.sendcmd("prompt") ftp.sendcmd("mget filename*") /usr/lib/ruby/1.9.1/net/ftp.rb:261:in'getresp':500'PROMPT':未理解命令(net::FTPPermError) from/usr/lib/ruby/1.9.1/net/ftp.rb:269:in'v

Ruby 有没有更简洁的方法来检查PGResult是否为空?

我正在使用pg gem与来自Ruby的PostgreSQL对话。有没有 检查是否没有结果的更好方法是使用res.ntuples==0 一个打字错误?使用zero更快、更简洁?大于==0 作为提示,我强烈建议将ORMGem与Postgres或MySQL或几乎任何其他数据库一起使用。它允许您使用原始SQL或数据集,或充当与ActiveRecord类似的全面建模ORM。谢谢。但出于性能原因,我希望与金属保持距离。我用最少的启动时间写东西。我尝试过活动记录方法,但启动时间太慢了。num_tuples只是

Ruby 为什么config.ru中定义的顶级方法不能被Sinatra::Application访问?

如果我有这样一个config.ru文件: def my_method 1+2 end require 'my_sinatra_app' run Sinatra::Application 从my_sinatra_app.rb中调用my_方法将返回“main:Object的未定义方法`my_方法”” 作为一种顶级方法,它应该可以从任何地方访问;为什么我的方法不能从my\u sinatra\u app.rb中访问?config.ru在Rack::Builder中定义了instance\u e

Ruby 在Sinatra测试响应中访问典狱长登录信息

实际上,我要查找的所有内容都在标题中说明了——我需要在测试中访问warden用户变量,以检查身份验证是否有效。另一种方法对我来说也是可能的,只是试着很好地测试身份验证:) 在机架测试样式的完整堆栈测试中,您无法在内部请求环境中获取。如果您想验证您是否已作为特定用户登录,您需要查看重定向URL(如果它重定向到用户可识别的URL)或遵循重定向(轻松使用机架测试的遵循重定向!帮助器),然后在HTML中查找用户ID的证据 我原以为您不需要真正测试Warden本身,但您需要确保您向它提供了正确的信息,并且

Ruby 什么';s比较2个对象时==和===之间的差异

可能重复: 为什么==不起作用?我怎么知道这个方法呢?===属于(现在我猜它调用对象,或者对象),但是我怎么能确定呢?当===检查类型时,它通常只检查两个参数的值。它通常只检查两个参数的值,当===也检查类型时。重复: 案例平等。有关详细信息,请参阅文档。此方法通常在对象的子类中重写。例如: 大小写相等——如果一个对象是mod的实例或mod的后代之一,则返回true。对模块的使用有限,但可以在case语句中按类对对象进行分类 是另一个,在这种情况下,它是=~的同义词: a = "H

Ruby 需要Rspec示例的帮助吗

任何人都可以有更具描述性的Rspec示例吗?我使用的例子,从网站工程非常好。但我想学习更多像go to site X(如Google)->在文本字段中输入数据(如Ruby) 检查HTML列表中是否有Ruby 我可以在Rspec上运行任何一个脚本,并生成关于案例通过-失败状态的报告 我感谢您提前给出的所有回复。这是一个完整的示例,由您提供 这是一个完整的示例,由提供 我想他们是想简洁,但就我个人而言,我会在before和after子句中使用do/end块。谢谢你的回答。watir rspec和xp

ruby注入问题,结果不一样

下面是代码:计算时,出现错误: arr = [0.054954087385762455, 0.5093998626512432, 5.880466289995431, 0.8639141517665208, 0.2152490168404071] sum = arr.inject {|sum, item| sum + item} tmp = 0 arr.each do |pwr| tmp = tmp + (pwr / sum -

替换OSX Lion中的默认Ruby版本

我没有任何1.8.xRuby应用程序需要维护,所以我想通过在我的OSXLion上用1.9版本替换预先安装的Ruby来摆脱RVM 可能吗?我该怎么做?我是否应该删除当前的解释器并用新的解释器替换它 还是有更好的方法随时准备1.9.2?我想要的只是一个1.9.2:-)版本的Lion我想你可以用它来更新你的ruby on osx,检查一下 brew info ruby要了解有关已安装版本的更多信息,请参见。我认为您可以使用更新ruby on osx,请检查 brew info ruby要获得更多关于安

Ruby 序列化的属性没有作为正确的对象返回

我的模型serialize中有一个序列化属性:顶点,数组。在使用它时,一切似乎都正常,但在重新加载控制台或web请求后,序列化的数组将作为字符串返回,这显然不是我所期望的。以下是rails控制台中的相同过程: ruby-1.9.2-p290 :009 > g.vertices = [Vertex.new, Vertex.new] => [#<Vertex:0x000000036315e8 @neighbours={}, @options={}, @name=nil, @rea

Twilio应用程序;twilio ruby(3.4.2),SSL错误

我遵循了上的示例代码,但它不起作用。在我的Rails控制台中,如下所示: irb(main):039:0> require 'twilio-ruby' => nil irb(main):040:0* account_sid='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" irb(main):041:0> auth_token='yyyyyyyyyyyyyyyyyyyyyy

ruby推送方法是交替的

它只是推动第一个入口,然后是第三个入口,然后是第五个入口。我认为这是我打破循环的方式,因为如果没有break方法,它就不会发生 当我在空行上按enter键时,我需要它将从循环中打断 提前谢谢 您正在调用的在循环中获取两次。第一次将其推入阵列时。第二次,它将与空字符串进行比较,以进行循环中断。但每一次它都要求一条新的线路 每个循环只需调用get一次。因此,您可以将其保存在变量中,然后在以后的代码中多次使用该变量 cool_words = [] while true cool_words

Ruby/EventMachine数据包解析器

我正在尝试编写一个定制的EM::Protocol模块,它可以打包/解包结构化二进制数据包。数据包结构应该定义为名称/格式对,可以是字符串、其他一些易于解析的格式,也可以是某种DSL 一些快速的代码可以让大家理解这个想法: module PacketProtocol def self.included(base) base.extend ClassMethods end def receive_data(data) # retrieve p

Ruby 如何编写文档中缺少代码的代码示例?

现在,我的文档中有以下示例代码: some_keeper = SomeKeeper.new some_keeper.report # ... # save the report to a file # ... some_keeper.fix! “将报告保存到文件”将不会在以后填充,它将与文档中的一样,只是缺少一段代码片段 文档中缺少代码是否有标准 注意:我正在用Ruby编写文档,并使用Yardoc。可以找到可用标记的列表。没有缺少的标记,但您可以添加注释。但是,您也可以使用define_tag

使用Ruby和Nokogiri迭代访问子XML元素

我有一个类似以下内容的XML文件: <Companies type="Container"> <Company type="Category"> <Name type="Property">Company 123</Name> <Location type="Property">New York</Location> <Employees type="Container">

Ruby 获取对象的实例变量

我有一个带有实例变量@type的Tiles数组: 如何获取每个磁贴的@类型?如何仅返回具有特定@type的对象?如果要获取包含每个type属性的数组,首先需要至少为@type创建一个读取器: 然后使用Arraymap: 如果要根据其@type值筛选平铺对象,Arrayselect是您的朋友: filtered_type_array = s.select{|t| t.type == 'some_value'} 以下是数组的文档:如果您想获得包含每个类型属性的数组,首先需要为@type: 然后使用

Ruby 如何在Rspec中只运行特定的测试?

我认为有一种方法可以只运行带有给定标签的测试。有人知道吗?或者,您可以传递行号:rspec spec/my_spec.rb:75-行号可以指向单个spec或一个上下文/描述块,该块中运行所有spec查找文档并不容易,但您可以使用散列标记示例。例如 # spec/my_spec.rb describe SomeContext do it "won't run this" do raise "never reached" end it "will run this", :foc

Ruby 需要模块上下文中的文件

我有一个名为WG的模块,应用程序中的所有类都在其中,纯粹是为了名称空间,所以我不会与外部代码发生命名冲突 我的问题是,我的应用程序中的每个类都需要指定为在该模块中,这是一个难题,主要是因为它给我的应用程序中的所有代码添加了一个缩进级别 换句话说,这是一个典型的类,在一个名为Thing.rb的文件中 module WG class Thing def do_things end end end 在我看来,应该有某种方式要求在WG模块的上下文中使用该文件,这样我就可以放弃顶

Can';t使用RVM安装Ruby 2.0.0

我正在尝试使用RVM安装Ruby 2.0.0版。我正在尝试使用Rails安装程序(railsinstaller.org) 我已经下载了软件包并运行了安装程序,还重新启动了所有终端窗口 以下是我遇到的问题: 如您所见,它说RVM安装了Ruby 2.0.0版。当我试图告诉RVM使用这个版本时,它说它没有安装 看起来它可能已经被修复了。请尝试rvm get head,然后重试:您的屏幕截图未显示。谢谢!我已经更新了链接。我正在尝试另一个图像主机。谢谢!工作得很有魅力。现在我可以继续读你的书了。

Ruby 将生成的文件从Jekyll插件复制到站点资源文件夹

我正在开发一个插件,插入一个名为latex的新液体标签(块标签)。其目的是通过以下方式在post源文件中插入一块LaTeX源代码: ... post file contents ... {% latex density=300 usepackages=pstricks-all, %} \pspicture(5,5) \psframe(0,0)(5,5) \psline(0,0)(5,5) \psline(0,5)(5,0) \endpspicture {% endlatex %} ... pos

RubyKoans 113/282-类型不匹配:给定字符串/我如何用irb解决自己的问题?

在尝试完成about_方法koans时,我在第39行和第42行一直遇到“type mismatch:String-given”错误。我的第一个问题是为什么会出错?我的第二个问题是,我如何能够用irb解决这个问题 科安 require File.expand_path(File.dirname(uuuu File_uuu)+'/neo') 定义我的全局方法(a、b) a+b 终止 关于方法的课程

Ruby c==self和yield做什么?

你能帮助我了解这个课程的功能以及我们如何利用它吗 class Integer def myt c=0 until c == self yield(c) c+=1 end self end end 多谢各位 x = Integer.new x.myt 我试着测试它,但不起作用。错误是:没有给定的块产量 此外,在我的书中,它说要像这样进行测试: 5.myt | |使我处

Ruby 要散列的二维数组

在Ruby中,给定一个数组: {"server"=>["nginx/1.1.19"], "date"=>["Wed, 08 Jan 2014 18:48:02 GMT"],"content-type"=>["application/json; charset=utf-8"]} 将其转换为哈希的最佳方式是: {"server"=>"nginx/1.1.19", "date"=>"Wed, 08 Jan 2014 18:48:02 GMT","content-type

如何通过在Ruby中迭代数组来创建直方图

所以我被告知重写这个问题并概述我的目标。他们让我对数组进行迭代,并“使用.each迭代频率,并将每个单词及其频率打印到控制台…在单词及其频率之间留出一个空格,以便于阅读。” 为什么它不能将字符串转换成整数?我做错了什么?我会按以下方式做: puts "Type something profound please" text = gets.chomp.split 我在这里调用了方法 我调用了下面的方法 现在运行代码: (arup~>Ruby)$ ruby so.rb Type someth

Ruby 如何在不影响第一维度的情况下联接第二维度或第三维数组项

我试图创建一个数组,显示给定数字输入的每个数字排列。对于给定的输入123,数组应如下所示: ["123", "132", "213", "231", "312", "321"] 我可以得到一个包含独立数字数组的数组: a = [] "123".split('').each {|n| a.push(n) } arraycombinations = a.permutation(a.length).to_a # => [["1", "2", "3"], ["1", "3", "2"], ["2

Ruby 在继承进程时获取匿名类的名称

是否有可能在继承中获取匿名类的名称,而不引发失败?应该通过类对象创建而不是eval或类似 class A def self.inherited(base) raise 'fail A' unless base.name end end B = Class.new(A) # or Object.const_set :B, Class.new(A) 上面的代码不起作用,因为匿名类尚未初始化,因此无法将其设置为特定常量。否 匿名类只有在被分配给常量(例如B=class.new.na

RVM、chef、默认ruby

请告诉我使用安装rvm和默认使用ruby版本的最简单方法。 我的是 巴什福多 cwd "/home/user" code <<-EOH curl -sSL https://get.rvm.io | bash -s stable rvm user gemsets type rvm | head -n 1 EOH end bash-rvm-ruby-do user "root" cwd "

Ruby 将XML节点序列化为具有正确名称空间的文档

如何将从文档中获取的XML节点序列化为独立节点 文件使用node.to_xml是不够的,因为to_xml并不足够 输出所有需要的名称空间,仅输出其中显式声明的名称空间 那个节点 例如,我在doc中有这个XML文档 现在,record.to_xml返回重新格式化的 <record xml:id="r1"> <field>aaa</field> <field extra:type="second">bbb</field>

如果对象可以在Ruby中打印自己呢?[对象打印]

我在想,在Ruby对象类中定义print方法不是很酷吗?考虑以下事项: class Object def print puts self.to_s end end 23.times &:print 有这样的东西有什么问题吗?这似乎是一个很好的功能。它看起来也很容易阅读。已经有了定义。另外,在对象类和从其继承的每个类中,已经定义了私有方法 向对象添加方法的主要问题是,它们变得通用,并且可能与其他库或项目中类似命名的方法冲突 Ruby core中已经有多种简单的方法可以输

Ruby 正在以加密格式创建用户登录密码

我正在尝试编写一个rails应用程序,它将创建用于评估的面板成员,因此在创建新面板时,我还希望创建作为系统用户的面板成员 当前,我的面板控制器创建看起来像 def create @member = Member.new(member_params) email_exists = @member.email respond_to do |format| if User.exists?(:email => email_exists) & Member.exists?(:emai

Ruby 如何通过将脚本路径传递给padrino在padrino上下文中运行脚本

如何通过将脚本路径传递给padrino在padrino上下文中运行脚本? 我发现rails中也有类似的功能: padrino网站: 说这可以通过运行 $ padrino r script/my_script.rb 但我得到了一个错误: Could not find task "r". 这对我很有效我从[这里][1]读到的都是padrino rake…。[1]: cat script/my_script.rb | padrino console

Ruby 为什么基极转换器会出现这种情况?

我正在建立一个数字基转换器。这是我的密码: def num_to_s(num, base) results = [] remainders = [] while base <= num result = num / base #divide the initial value of num num = result #put that back in num so you can do it again results <&

使用模运算找不到ruby键

我试图使用字符串的模函数%获取散列,并将其值注入字符串中的适当位置,但我始终收到键{x}未找到(KeyError),即使我可以确认键在那里。我做错了什么 s = "Invalid: %{totalInvalid} , OutofThreshold: %{totalOutOfThreshold} " puts row.fetch ('totalInvalid') #<-Just checking to make sure the key is in there ext = s % row

为什么';t`OpenSSL::Pkey::RSA.new`JRuby中缺少密码的提示?

我试图找出是否有办法让JRuby提示输入丢失的密码(就像Ruby那样) 调用OpenSSL::PKey::RSA.new时,无需密码 例如,给定此脚本: # example.rb require 'openssl' def test pemkey_text, pemkey_pass puts "Decrypting key using password #{pemkey_pass.inspect}" begin key = OpenSSL::PKey::RSA.new pemk

Ruby 局部视图在一个视图中工作,但在另一个视图中不工作

我有一个页面,允许用户选择过滤器以运行查询,然后显示给定结果的结果,但保留所选过滤器以允许用户查看并调整它们,然后再次运行查询 过滤器显示在索引视图中,结果显示在结果视图中 为了实现这一点,我有一个控制器,它有两种方法:索引和结果 因为两个视图都需要显示过滤器,所以我实现了一个称为_filters的部分视图 索引和结果都会呈现这样的过滤器 <%= render 'filters' %> filters视图将这样一个HTML选择放在一起 <select id="centro_d

Google自定义搜索API和Ruby

我想写一个谷歌搜索刮刀/解析器,从谷歌的linkedin.com索引中提取员工。Linkedin关闭了他们的API,所以我先写了一个Mechanize/Nokogiri刮板,这让我得到了验证码,所以我用谷歌搜索API gem重写了脚本 问题是,我不知道从哪里开始让它带来比第一页更多的结果,官方文件甚至不能被描述为“稀疏” 这是仅返回第1页的代码: require 'rubygems' require 'google/api_client' require 'json' require 'pp'

Ruby 如何使用有权访问电子邮件的考拉创建facebook测试用户

我想用考拉做一个facebook测试用户,并想访问他们的电子邮件,所以我问了这个问题 但是这个问题被标记为重复,我会问一些不同的问题 我尝试的是这样的: test_users = Koala::Facebook::TestUsers.new(app_id: ENV['FACEBOOK_KEY'], secret: ENV['FACEBOOK_SECRET'], scope: 'email') test_user = test_users.create(true) test_user =

Ruby 无法从命令提示符运行file.rb

我有Ruby 2.2,每次出现相同的错误时,我都无法从命令提示符下运行任何文件.rb: C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- dl/import (LoadError) from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kerne

Ruby中的异步请求最佳实践

在我的应用程序中,我使用后台作业将工作卸载到后台。这与IO操作一样,适用于CPU密集型操作。我想知道在异步请求的情况下是否有这样的偏好。我的意思是,我还使用BG作业使我的请求异步,考虑到其他一些替代方法,如EventMachine,我觉得这不是最好的方法 那么,实现异步请求的最佳实践是什么呢?假设您在这里讨论的是Rails 4: Rails ActionController::Live模块,请签出。 WebSocket是其实现的包装器之一。 websocket rails gem最后一次更新是在

Ruby 如何将标题写入现有CSV?

我有一个目录,里面有一堆没有标题的CSV文件 我试着这样做: def add_headers_to_csvs csvs = Dir["#{@dir_name}/#{@state}/*.csv"] csvs.each do |csv_file| CSV.open(csv_file, "a+", write_headers: true, headers: ["Company_Name","Website","Street_Address", "City", "State", "Zip

Ruby 为什么将方法创建为符号很重要?

我试图理解符号在Ruby中的作用。我知道使用符号作为键比使用字符串快得多,效率也高得多,但它是如何更快的呢 根据我的理解,当引用方法时,它必须表示为一个符号:to_i,而不是_i。这样做的目的是什么?在Ruby中,符号只是一个不可变的字符串: "hello " + "world" #=> "hello world" :hello_ + :world #=> NoMethodError: undefined method `+' for :hello:Symbol 不可变使符号成为安

Ruby 在“gsub”中的正则表达式中保留反斜杠

我想用下划线替换空格和正斜杠,并保留反斜杠 我该怎么做 我有以下正则表达式: "hello\h /123".gsub(/[\s+\/]/, "_") #=> "helloh__123" 但它也会替换字符串中的反斜杠。因此,如果您只想转换空格和带下划线的斜杠,您可能更喜欢: "hello\h /123".tr('/ ','__') # 2nd arg is two underscores #=> "helloh__123" 但我同意到目前为止对这个问题的评论。双引号字符串文本中的反

Ruby 红地毯宝石的新行错误

我的ApplicationHelper中有一个降价方法,我想编写一个简单的单元测试: def markdown(text) markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML) markdown.render(text).html_safe # tried wihout html_safe too end 每当我编写RSpec测试时,它总是失败。我尝试了三种不同的方法: expect(helper.markdown('#

Ruby 我们需要同时要求和归档吗?

在ruby程序中,有一个单独的Gem文件,其中包含以下定义: source "https://rubygems.org" gem "typhoeus" gem "json" gem "pg" gem "google_drive" , "2.1.11" gem "mandrill-api" 如果出于某种原因我不想要这个gem文件,那么在ruby脚本中,我需要为所有库添加require, 例如: require typhoeus require json require pg re

Ruby 是否可以同时为函数中的所有参数指定默认值?

如果我有这样一个函数: def foo(a="this", b="this", c="this") end 是否有一些选项可以同时为它们设置默认值?比如: def foo(DEFAULT="this", a, b, c) end 元编程局部变量 如果您试图创建可以重写的位置方法局部变量,那么可以使用当前方法使用一些元编程。例如: def foo a=nil, b=nil, c=nil %i[a b c].ma

Ruby 操作队列使用什么模式?

我正在编写一个“bot”,它将有一个预定义操作的列表,并且在处理每个操作时,操作代码将能够向队列中添加更多操作,作为下一个要处理的操作(而不是在最后) 假设我将使用动作A、B和C启动队列,在处理B时,它会在C之前添加需要处理的B1和B2。将处理动作的最终顺序保留为B B1 B2 C 一个普通的FIFO队列不会切断它,因为项目只能添加到队列的末尾 我相信,一个普通的后进先出堆栈也不行 在这个场景中,您将使用什么?我将使用某种树 首先它进入A。检查A是否有叶子,如果没有,移动到B。 在B中,它执行B

上一页   1   2   3   4    5   6  ... 下一页 最后一页 共 2332 页