Ruby 操作字节数组

我有一个简单的字节数组 ["\x01\x01\x04\x00"] 我不确定如何只改变字符串中的第二个值,因为我知道数组只有一个项,同时仍然将对象保留为字节数组 大致如下: ["\x01#{ARGV[0]}\x04\x00"] 使用每个字节字符串方法: $ irb --simple-prompt >> str = "\x01\x01\x04\x00" => "\001\001\004\000" >> str.each_byte {|byte| puts byte}

Ruby 我哪里做错了&引用;未定义的方法';应用程序';对于Sinatra:模块“;西纳特拉/乘客/阿帕奇

我正在尝试启动我的第一个Sinatra应用程序,但收到乘客的错误页面: undefined method `application' for Sinatra:Module 这是我的档案: require 'rubygems' require 'sinatra' set :env, :production disable :run require 'app' run Sinatra.application 以及应用程序本身: #!/usr/bin/env ruby require 'rub

Ruby 如何使用OptionParser处理目录或文件

我发现自己经常这样做: optparse = OptionParser.new do |opts| options[:directory] = "/tmp/" opts.on('-d','--dir DIR', String, 'Directory to put the output in.') do |x| raise "No such directory" unless File.directory?(x) options[:directory] = x end

Ruby 如何在Cucumber中划分特征和场景?

我需要管理系统中的一些使用,所以用户管理是一个功能,添加/删除用户是一个场景?我想知道设计它们的一个原则,谢谢是的,你是对的 # user-mgmt.feature Feature: User management Scenario: User addition Given that no user named 'doe' exists When I create an account for 'doe' Then the list of

检查数学变换在Ruby范围内是否返回true

假设我有一个Ruby范围,1..500,我想问一个问题,这个范围内的任何元素是否可以被5整除。最好的方法是什么?试试这个 (1..500).any?{|n| n%5 == 0 } 感谢@nash提供红宝石糖: (1..500).any?{|n| n.modulo(5).zero? } 试试这个 (1..500).any?{|n| n%5 == 0 } 感谢@nash提供红宝石糖: (1..500).any?{|n| n.modulo(5).zero? }

nokogiri未正确安装ruby-1.9.1

我最近给大家安装了 我最近使用rvm安装了ruby-1.9.1。我试过安装 nokogiri遵循本指南: 但安装gem后,我仍然会遇到以下错误: 嗨。您使用的是libxml2版本2.6.16,该版本已有4年历史,并且 很多虫子。我们建议,为了获得最大的HTML/XML解析乐趣,您可以 升级您的libxml2版本并重新安装nokogiri。如果你喜欢使用 libxml2版本2.6.16,但不喜欢此警告,请定义常量 在要求nokogiri之前,我知道我正在使用旧版和小车版的LIBXML2 我还确保

Ruby 有没有办法把代码重构得更小一些?

我对原始代码做了很好的修改和删减,但是我没有看到任何方法可以在不将检查分为模块中的另一个文件的情况下压缩这个较小的代码。每个when/x/的正则表达式文本都是不同的,因此我想不出它们可以进一步组合 case state when /OH|PA|MN/ if @browser.text.include?("My text") raise "x" unless /foo/.match(@browser.text) r

Ruby 使用带有换行符的正则表达式\";

尽管换行符\n e、 g.该代码运行良好 > "|text|".gsub(/\|(.+?)\|/){"###"} => "###" 这并不重要 > "|\n text|".gsub(/\|(.+?)\|/){"###"} => "|\n text|" 对多行匹配使用m修改器: "|\n text|".gsub(/\|(.+?)\|/m){"###"} 对多行匹配使用m修改器: "|\n text|".gsub(/\|(.+?)\|/m){"###"} 以下是m修饰

用于Salesforce Soap Api的Ruby gem

Salesforce Rest Api和Bulk Api有两个宝石。Salesforce的SOAP Api有什么优点吗 此Gem提供对Salesforce对象的类似ActiveRecord的访问。我运气不错 用它。它抽象了SOAP/REST协议。经过几次尝试后,我选择了Savon Gem

ruby为字符串指定十六进制值

此代码适用于旧版本1.8.X @buff1 = "12" @buff1[0] = 0x0b @buff1[1] = 0x0e 我已经提取了一小部分代码。请再看一看。因为在1.8.6中,我将\016\v作为输出,在1.9.3中显示错误类型错误:无法将Fixnum转换为字符串 请为1.9.3提供解决方案,它在Ruby 1.9.3中工作 输出: 也许你试过: p RUBY_VERSION b = "12" # you mis

Ruby Array.each_与_索引未按预期运行

我重新定义了Arrayreplace,如下所示 require 'test/unit' class Array def replace (from, to) each_with_index do |e, i| self[i] = to if e = from end end end class TestDriver <Test::Unit::TestCase def test_replace book

Ruby 正在尝试在sinatra进行反向dns查找

我使用ruby和sinatra制作了一个web应用程序 web应用程序总是试图对每个客户端执行反向dns查找 如何禁用它?您如何知道它正在尝试这样做?Sinatra没有执行反向DNS查找的部分,因此您必须提供有关tcpdump和netstat的更多信息,或者提供有关应用程序中代码的更多信息。

Ruby Glade“无父母”小部件

有没有办法在Glade中创建“无父”小部件?我的意思是,例如,一个没有关联父项的表,以便以后可以将其指定为其他内容的子项 我要做的是一个GTK窗口,有3个位置的VBox,其中2个是静态的,1个是动态的。在这个动态位置,我想加载一个预定义的表,它将根据我在静态部分所做的任何操作而变化,比如按X或Y按钮 这是可能的,还是必须通过代码创建动态表 我正在使用Ruby 1.9.3、Gtk2和Glade3。谢谢 编辑:我尝试用这些表创建一个单独的窗口,并将其中一个表加载到预期的窗口中。我得到了一个错误,显然

初学者的神秘错误';s ruby代码(while循环)

这是我的代码。我正在学习循环,不知道为什么这不起作用。我有个错误 i = 0 numbers = [] def while_var(x) while i < #{x} print "Entry #{i}: i is now #{i}." numbers.push(i) puts "The numbers array is now #{numbers}." i = i + 1 puts "variable i just increased by 1. It is no

Ruby Facebook API批处理请求

我正在尝试使用Ruby同时获得多个URL的相同计数。我尝试过类似的方法,但似乎不起作用: batch_get = [{"method"=>"GET", "relative_url"=>"method/fql.query?query=select total_count from link_stat where url='http://www.bbc.co.uk/news/world-us-canada-26233909'"}, {"method"=>"GET", "relati

按键数组中的ruby和值

如何求和 [["a", 1], ["b", 2], ["c", 3], ["a", 20], ["b", 12], ["c", 5]] 进入 我不明白如何在这样的键中将数组映射按键与注入(&:+)按值组合在一起我的函数解决方案 .group_by(&:first).map { |k, v| [k, v.map(&:last).inject(:+)] } array = [["a", 1], ["b", 2], ["c", 3], ["a", 20], ["b", 12], [

Ruby gem的配置信息

我正在开发一个需要配置主机名、用户名和密码的gem。我希望将此配置信息存储在config/directoryservices.yml中 如何使我的gem在安装时自动创建此文件 我看到很多地方都说配置信息应该通过gems作为散列传递。此gem的主要用途是安装在约15台服务器上的应用程序。每个服务器都需要不同的配置信息 如果最好在应用程序中包含YAML代码,然后将数据作为散列传递给gem,我可以这样做,但我仍然希望找到最好的方法 使用这种配置的gem的一个例子是activeldap如果您使用的是ra

Ruby 表单上的用户注册字段未保存到数据库

我建立了一个登录页,用户可以在这里提交他们的电子邮件 我有以下数据库: create_table "subscriptions", force: true do |t| t.string "fname" t.string "lname" t.string "email" t.datetime "created_at" t.datetime "updated_at" end 以及“我的网页/主页”视图中的以下表单:

Ruby 如何在使用xpath或css时将动态值传递给页面对象

我必须传递动态值以检查文本字段值是否存在。我们如何在类中使用Page对象来实现这一点 下面我应该动态地传递检查值。我使用cucumber示例表为inspect提供值 代码: 由于在对类求值时创建了访问器方法,因此不能对需要动态定位的元素使用访问器。有关更多详细信息,您可以查看功能请求- 另一种方法是使用页面对象的常规定位器方法。例如,您可以创建一个反向检查元素方法来获取给定值的输入字段: class VerifyDetailsPage include PageObject def re

Ruby继承nil类

我试图制作一个游戏,但是我在为属性设置默认值和为每个子类设置不同的默认值时遇到了问题 问题是: class Player attr_accessor :hp @hp = 2 end class Harper < Player @hp = 5 end bill = Harper.new.hp #=>nil 我希望Harper.new.hp为5,但它显示为零,我不明白为什么。您需要将赋值放在初始化函数上: class Player attr_accessor

Ruby 在OSX 10.9 Maverick上安装Nokogiri时出错?

我将我的OSX(Lion)升级到Mavericks,我无法为我的项目安装Nokogiri 我已经安装了XCode 5.0.1、命令行工具(使用XCode select--install),并且已经从Homebrew安装了libxml2,但仍然存在问题 错误是: Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/ericcamalionte/.rvm/rubies/ru

Ruby 在windows server 2008上部署露营web应用作为服务

我有一个关于将露营web应用程序作为windows server 2008服务运行的问题。 到目前为止,我们已经完成了本文所述的步骤:包括针对windows server 2008的步骤。但是,服务会启动并运行,但不会触发应用程序 我们使用机架配置文件,如下所示: $LOAD_PATH << File.expand_path('..') require './review' rack_log = File.new("rack_log_file.txt", "a+") u

Ruby 连接两个相对的URL

我有以下情况,我想连接两个相对URL: /api/v1/和/状态 我已经搜索了如何实现这一点,但我找到的唯一两个解决方案是使用URI::join或File.join。 URI::join仅在第一个url段是绝对的情况下才起作用,但实际情况并非如此。使用File.join可以工作,但在这种情况下感觉不太好。解决了问题: require "addressable/uri" fragment1 = '/api/v1/' fragment2 = 'status' Addressable::URI.

Ruby .send_keys方法未输入预期数据,否则将完全忽略它

我遇到这样一种情况:driver.find_元素:id,“sometext.send_keys”方法没有输入预期的数据,或者完全忽略了它 我正在将SeleniumWebDriver与Ruby和Windows7一起使用 例如: 在前两行下面的代码中,找到单价字段,将其清除,然后在该字段中输入“100.00”。在第二个字段中,同样的行为应该在Broker佣金字段中输入“150.00”,但是输入“0.1”,然后第三个字段,即运费字段被完全忽略 我尝试使用:id、:name和:xpath来实现这一点,结

Ruby RSS模块解析自定义标记

使用文档中的示例代码: 例如,如果我正在解析torrent magnet链接的RSS提要,并且选择器被标记为magnetURI,那么我可以获得标准项,如item.title和item.pubDate,但不能获得自定义标记 我相信问题在于需要定义这些非标准标记,因为我可以毫无问题地提取其余数据 可以使用此模块声明这些内容吗?我看到gems-like似乎有这样的功能,所以不清楚RSS库是否可以默认做到这一点 script.rb:33:in `block (2 levels) in <main&

Ruby 懒洋洋地对IO.popen说“是”

我有以下方法: def yessir IO.popen('yes').each do |y| y end end puts yessir.first 它调用yes,这是一个将y永久写入控制台的程序。如果运行此代码,它将永远不会返回,这意味着yessir-方法不是惰性的。如何解决此问题?删除关键字return@UriAgassi我更新了q,因此您的答案已过期。谢谢,对不起! def yessir IO.popen('yes').lazy.each do |y| y

Ruby 在Vagrant中为多台环境计算机创建两个磁盘

我要用Vagrant创建一个多环境机器。这是我试图配置的Vagrant文件。我想举例说明七台机器通过专用网络将它们连接起来。每个磁盘都应该有两个磁盘。我在Vagrant文档中找到了公开createhd命令的VBoxManage。我不确定该把这个命令放在哪里。在每个机器块内还是在虚拟提供程序块配置内 Vagrant.configure(2) do |config| config.vm.provision "shell", inline: "echo OpenStack" con

Ruby 如何使数组子数组中的元素垂直放置?红宝石

我试图让@bingo_board子数组中的元素垂直定位,但每个数组水平对齐 编辑 也许我误解了这个问题,要转换打印数组(如果这是您想要的),只需使用第一个循环打印,然后使用第二个循环: @bingo_board = Array.new(5) {Array(5.times.map{rand(1..100)})} B I N G O 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 旧答案 只需使

Ruby Errno::enoint-无此类文件或目录-Sinatra应用程序映像上载

我有这个简单的方法,写一个文件,并返回它作为一个图像上传到AWS的一部分 def write_image_to_file(image, filename) file = File.new("public/images/user_images/#{filename}", "w+") file.write(image) file end 这在开发中运行良好,图像上传正确,我得到了AWS托管图像的URL,并将其存储在数据库中。然而,当部署到heroku时,我得到以下错误消息作为herok

Ruby mini_magick初始化错误参数数目错误(0表示1)

我和minimagick有着奇怪的行为 每项开发工作都很顺利,但 在制作过程中,我得到了以下信息: wrong number of arguments (0 for 1) 如果我执行 service nginx restart 我明白了 只有一次。以后每次重新加载页面时,我都会收到参数错误 这是密码 require 'rubygems' require 'sinatra/base' require 'mini_magick' get '/test' do MiniMagick:

ruby将附件的内容写入到文件中,为我提供了额外的新行字符

我正在尝试将附件从gmail保存到本地磁盘。我正在使用gmail gem并按照说明操作: gmail.mailbox("Faxes").emails.each do |email| email.message.attachments.each do |f| File.write(File.join(folder, f.filename), f.body.decoded) end end 问题是,当我在记事本++中打开文件时,我看到在每一行后面都添加了新行字符。如果我尝试添加 p

Ruby 如何检查类中是否直接定义了'initialize'

我试图检查初始化是否直接在类中定义。下面是一些示例命令行代码,以说明我尝试执行的操作: class Something def initialize; end end Something.method_defined?(:initialize) # => false 有没有办法检测是否在类中直接定义了initialize?initialize显然总是私有的,因此您需要执行以下操作: Something.private_instance_methods(false).include

Ruby字符串插值

如何插入 #{stock_sym} 进入 替换aapl?字符串插值仅适用于双引号: "//*[@id='yfs_l84_#{stock_sym}']" 退房 stock_price = dom.xpath("//*[@id='yfs_l84_#{stock_sym}']").first.content "//*[@id='yfs_l84_#{stock_sym}']"

Ruby 项目任务17。从一系列数字中查找所有字母的编号

问题是: 如果数字1到5是用文字写出来的:一、二、三、四、五,那么总共使用了3+3+5+4+4=19个字母。 如果所有从1到1000(一千)的数字都是用文字写出来的,那么会使用多少个字母 我的解决方案: require 'humanize' arr, total = [], 0 (1..1000).to_a.map(&:humanize).each {|x| arr << x.delete(" ").delete("-")}.map {|y| total += y.lengt

如何将Ruby`instance\u eval`调用提取到方法中?

我有一个Padrino应用程序的Ruby代码: module Filters def self.authorize_admin proc { halt(401) unless current_user.admin? } end end App.controllers :secrets do before :show, &Filters.authorize_admin # ... end 当机密控制器在显示路由上收到请求时,它将运行authorize_admin

Ruby opt_字段不适用于Asana API,但url适用于Asana explorer

我从hello world示例开始使用Ruby。你好,世界工作发现。我正在努力让这个开始工作: GET /projects/192372431230306/tasks?opt_fields=id,assignee,due_on,name,notes&limit=10&completed_since=now 它的工作原理与AsanaAPI浏览器中的预期完全相同 我在代码中使用了相同的URI: uri = URI.parse("https://app.asana.com/api/1

Ruby 算法:给出一组单词来解决纵横字谜

我看了以前类似问题的问题,但我有一个与此算法相关的具体问题。问题陈述如下: 我们为您提供了一个10x10的纵横字谜网格,以及一组需要填入网格中的单词或地名。 网格中的单元格最初是+号或-号。 标有a+的单元格必须保持原样。标记为-的单元格需要填充适当的字符 样本输入: +-++++++++ +-++++++++ +-++++++++ +-----++++ +-+++-++++ +-+++-++++ +++++-++++ ++------++ +++++-++++ +++++-++++ LONDO

Ruby 尝试安装jekyll时出现错误

我在安装杰基尔时遇到了一些麻烦。不太明白如何修补丢失的链接 全文如下: root@cherob:~# gem install jekyll Building native extensions. This could take a while... ERROR: Error installing jekyll: ERROR: Failed to build gem native extension. /usr/bin/ruby2.1 extconf.rb checking for ffi.

在RUBY CSV中-如何对1列已排序的CSV数据求和,并确保保持对数据的约束或限制

我正在开发一个csv阅读器,希望对数据进行操作,我想对一列进行求和-年,但确保不超过一定数量的点-比如100万。我无法对列求和,它正在递增。我的限制是10年以上 csv看起来像这样 id, numbers, years, 1, 50000, 10 2, 40000, 12 3, 50000, 9 我的ruby文件如下所示 #!/usr/bin/env ruby require 'pry' require 'rubygems' require 'fastercsv' mycsv = CS

我的Ruby代码似乎不起作用

我想这个程序接受3个数字从用户的工作正常和 显示消息,说明第一个数字等于接下来两个数字的总和,如果这是真的或假的,则根据用户的输入。 为什么这不起作用?这场灾难的解决方案是什么?请在评论中告诉我。非常感谢。☺ 您不完全清楚希望用户键入什么,但请注意gets返回一个字符串,因此您可能希望将其拆分为由空格分隔的部分: num1, num2, num3 = gets puts "Your first number = Your second number + Your third number. Tr

用于在ruby中将字符串与数字匹配的正则表达式

我有一个字符串如下 "Included in PTA fees" or "Included in PTA fees 33$" or "Included in PTA fees $60" 我需要将此字符串与搜索PTA费用/费用以及是否附加了任何feenumber匹配 需要查找PTA费用以及任何给定字符串中的费用值,并返回true 因此,它应该返回真的 "Included in PTA fees 33$" and "Included in PTA fees $60" "Included in P

Ruby 2.3.4——如何删除字符串的子字符串?

例如:有一个字符串: 'Trump is great#Trump is great#' 如果我这样做: 'Trump is great#Trump is great#'.delete! 'Trump is great#' 我会得到: '' 但我想得到: 'Trump is great#' 所以我想要一个“特朗普很棒”的范围,并按这个范围删除这个子串 怎么做 或者用其他方法删除子字符串?我想你要找的是sub!。 不像gsub!或删除!,它只替换第一个匹配项 'Trump is great#

如何只等待数组中的第一个线程在Ruby中完成?

在Ruby中,要等待数组中的每个线程完成其工作,可以使用Threadjoin: 但我需要做的是,只等待数组的第一个线程完成。第一步完成后,我想停止执行 在Ruby中,有没有一种简单的方法或内置的方法可以做到这一点?对于线程安全的方法,您可以使用队列来等待多个线程中的一个线程发生某些事情 queue = Queue.new threads = [] threads << Thread.new { sleep 2; queue.push(nil) } threads <<

Ruby 错误:未能生成gem本机扩展生成侦听gem

我一直在尝试运行gem安装listen,我在下面看到了这个错误 错误:安装侦听时出错: 错误:无法生成gem本机扩展 当前目录:/var/lib/gems/2.5.0/gems/ffi-1.11.3/ext/ffi\u c /usr/bin/ruby2.5-r./siteconf20200106-9209-e0kdmx.rb extconf.rb mkmf.rb在/usr/lib/ruby/include/ruby.h中找不到ruby的头文件 extconf失败,退出代码1 找不到ruby的头文

如何在Ruby TK中创建日历小部件

我正试图用以下代码在Ruby Tk中创建一个日历小部件: 需要“tk” 需要“TXTXTLIB/iwidgets” 调试=[] 开始 root=TkRoot.new{title'Ruby/Tk Calendar'} cal=Tk::Iwidgets::Calendar.newroot{ 轮廓“黑色” 工作日背景“灰色90” 周末背景“白色” 命令{p cal.get} } cal.pack'pady'=>10 加州电视台节目'11/1/2006' 设置初始窗口几何图形;i、 尺寸和位置。 温w,

Ruby 如何在哈希数组中查找哈希的最大值

在我的数组中,我试图检索值为_2的最大值的键,因此在本例中,B: myArray = [ "A" => { "value_1" => 30, "value_2" => 240 }, "B" => { "value_1" => 40, "value_2" => 250 }, "C" => { "value_1" => 18, "value_2" => 60 } ] myA

Ruby 有人能解释一下下面的代码是如何执行的吗?

我正在关注来自Odin项目的链接教程,它是关于ruby中的块和过程的。我不太明白下面的代码是如何工作的 class Array def eachEven(&wasABlock_nowAProc) # We start with "true" because arrays start with 0, which is even. isEven = true self.each do |object| if isEven wasABl

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