使用ruby将存储为带符号的无符号整数转换回原始值

一个C程序正在将它认为是64位无符号整数的内容放入类型为int8的Postgres数据库的一列中。 对于Postgres来说,int8总是“signed int8”(没有“unsigned int8”这样的东西)。 因此,我的Ruby程序将从Postgres检索到的数字显示为负数 在Ruby中,采用-ve整数并将其转换为C程序员想要的64位无符号整数的正确方法是什么?我不确定Ruby的具体细节,但如果数字为负数,基本上需要添加2^64。这是假设数字存储为2的补码,几乎可以肯定是这样 仅供参考,2

Ruby 什么时候结束比赛会被要求穿鞋子?

使用鞋子,我想有一个窗口破坏后执行块。我想我可以使用finish事件,但是在下面的代码中,“Starting”显示,但“Finished”从未显示 在做了更多的研究之后 Shoes中的finish事件目前似乎仅用于下载 此外,目前似乎没有onclose事件,但已经讨论过了 很抱歉回答了我自己的问题,但把知识告诉了别人 Shoes.app(:title => "Test") do flow do start do |obj| alert(

Ruby中包含类的调用方法

如何在Ruby中调用包含类的方法?请参见下面的示例。这是可行的,但这不是我想要的: require 'httparty' module MyModule class MyClass include HTTParty base_uri 'http://localhost' def initialize(path) # other code end end end 这是我想要的,但不起作用,说未定义的方法'base_uri'

如何断开现有ruby sequel与数据库的连接?

我指的是之前被确定为 DB = Sequel.sqlite('my_blog.db') 或 或 或诸如此类 Sequel::Database类没有名为“disconnect”的公共实例方法,尽管它有一个“connect”方法 也许有人已经面临这个问题了。如果有任何想法,我将不胜感激。正如姆拉登·贾布拉诺维奇指出的那样,你可以: DB.disconnect 这将断开该Sequel::数据库实例的连接池中的所有可用连接。您无法选择要断开的特定连接,而且这样做也没有意义。但是,分片连接池确实支持断

在Ruby中使用哈希值构造字符串

假设我有一个散列{“a”=>“b”,“c”=>“d”},我想把它转换成字符串“a=b\nc=d” 到目前为止,我提出的解决方案是 {“a”=>“b”,“c”=>“d”}.map{k,v | k+“=”+v}.join(“\n”) 有更好/更优雅的方式吗?例如,可以使用单个方法调用来完成吗?不是更好,但我认为这会起作用: { "a" => "b", "c" => "d" }.map { |a| a.join '=' }.join("\n") 你的方式很好。不过我想换个零钱 { "a"

Ubuntu 10.04-RVM赢得';不要设置默认的ruby

我以前曾在Linode VPS上安装过RVM,但在一次重建之后,我遇到了各种各样的问题,我想看看这里是否有人能提供建议 我正在尝试在Linode Ubuntu10.04(32位)VPS上安装RVM(和Ruby 1.9.2) 我在许多站点上都尝试过按照说明进行操作,例如,对于单个用户或系统范围的安装(系统范围的首选),但我总是遇到相同的错误 Ruby 1.9.2正确编译和安装,并且在使用 rvm 1.9.2 ruby-v 返回以下内容: ruby 1.9.2p0 (2010-08-18 revi

Ruby 插入标记时的Nokogiri和XML格式

我想使用Nokogiri将节点插入到XML文档中。Nokogiri使用Nokogiri::XML::Builder类插入或创建新的XML 如果我使用new方法创建XML,我就能够创建漂亮的格式化XML: builder = Nokogiri::XML::Builder.new do |xml| xml.product { xml.test "hi" } end puts builder 产出如下: <?xml version="1.0"?> <product

对Ruby字符串进行分类

我有一个创建类的程序,它看起来像: MyClass = Class.new do def initialize; end # ... end 但我想从字符串中动态命名MyClass。因为它是一个类的名称,所以我想对该字符串进行分类,例如(感谢Rails方法): 我不知道在纯Ruby中是否有这样的方法 谢谢你不,没有。这是我的建议 你可以这样做: "hello_world".split('_').collect!{ |w| w.capitalize }.join 您可以

事件/观察者驱动的Ruby on Rails

我有一个适用于事件/侦听器模型的应用程序。发布了几种不同类型的数据(事件),然后可能需要或不需要对这些数据执行许多不同的操作(侦听器)。监听器没有特定的发生顺序,每个监听器将决定是否需要对事件采取行动 有哪些Rails应用程序工具可以完成此任务?我希望自己不必这样做(尽管我可以,这没什么大不了的) 编辑:观察者模式可能是一个更好的选择,你可能会想连接到ActiveRecord的Observer类 使用它,您的模型可以为几个生命周期事件执行自定义逻辑: 如果我正确理解了您的意图,那么您所需要做

我能定义我自己的吗;如有的话;ruby中的语法?

我经常写这样的东西: val if val && !val.empty? val if_any 我是否可以更简洁地将此语法定义为: val if val && !val.empty? val if_any 或 ?是否有val.blank irb(main):008:0> ''.blank? => true irb(main):009:0> ' '.blank? => true irb(main):010:0> nil.

如何运行Ruby gem';s规格?

我制作了一个ruby gem并进行了一些更新。我需要运行gem测试并添加新的测试,确保所有测试都成功 forked ruby gem正在使用rspec测试。如何运行这些测试?通常rake足以运行所有测试,不管它们是RSpec、Cucumber等。如果您想直接调用RSpec,请尝试运行RSpec spec,或者如果gem使用的是非常规命名的测试目录,只需使用RSpec 注意:现在大多数新的gems都使用Bundler来管理依赖项,因此如果您没有适当的依赖项,并且根目录中有Gemfile,那么首先运

rubygem测试工作流

创建ruby gem时的测试标准是什么 大多数人是运行guard之类的程序,还是编写测试并从命令行手动触发它们?在Ruby中,没有真正的“标准”,人们通常使用适合他们的程序。如果您不喜欢guard之类的东西,并且更喜欢从命令行运行测试,请从命令行运行测试 当我编写代码时,我会从命令行手动运行测试,但我还有一个cron作业,它会根据最新提交运行测试,并每晚通过电子邮件发送结果。好消息……你在做TDD吗?似乎编写测试,手动运行测试,然后编写代码,然后手动运行测试会变得很麻烦。不?当你这样说的时候,听

Ruby 如何更新;固定在";将Rally与Subversion集成时的字段?

将Rally与Subversion集成后,Rally中的任务和缺陷会在代码提交到存储库后自动更新。但是,仅更新以下字段: 变更集 陈述 Todo(用于任务) 还应更新的一个重要字段是缺陷的“修复”字段,该字段应包含修复的修订号。我联系了Rally客户支持,但得到的答复是,目前没有考虑扩展Rally工件的更新功能 关于解决这个问题有什么建议吗?实际上,更改Rally提供的Ruby脚本作为Subversion的后钩子并不重要。即使这在将来的版本中可能会更改,对于RallyConnectorFor

Graphene:ruby bundler安装失败

我在Debian 6.0 linux服务器上安装了github的最新版本,位于/opt/graphene。我正试图用代码编写仪表盘,但ruby的有问题 在我遵循的过程中,我成功地安装了debian包以及rubygems 接下来,我sudogem安装服务没有问题 我可以在端口4000上浏览示例站点,因此我知道ruby和rubygems正在工作 接下来,根据graphene的自述文件的要求,我使用SudoGem安装捆绑程序进行安装;但是,当我在README.md中执行下一步时,捆绑安装失败 [mp

Ruby 调用Model.create时,覆盖initialize方法的正确方法是什么?

调用Model.create时,覆盖initialize方法的正确方法是什么?我试过: Model < ActiveRecord::Base def initialize params, foo 不是使用Rails,而是使用ActiveRecord。最好远离这条路 如果需要不同的行为来创建模型对象,只需创建不同的方法,如: class Model < ActiveRecord::Base def self.create_with_foo params, foo mo

数组中数组的Ruby哈希

我有以下数组 a=[["kvm16", "one-415"], ["kvm16", "one-416"], ["kvm5", "one-417"]] 我想把它转换成如下的散列 {"kvm5"=>["one-417"], "kvm16"=>["one-417", "one-416"]} 我尝试过的每件事都会挤压价值 v=Hash[ a.collect do |p| [p[0], [ p[1] ] ] end ] => {"kvm5"=>["one-417"], "kvm

带有testlink jenkins和testlink插件的Ruby项目

我是詹金斯和马文的新手。 我正在为jenkins使用testLink插件进行自动化测试,所以我从“jenkins testLink插件教程”开始 今天,我想知道是否有可能用ruby文件而不是java文件来做同样的事情(在那之后,如果一切正常,用PL-SQL) 我在谷歌上搜索了很多,但没有具体的方法。 (我认为这与maven的进球有关,或者在jenkins中配置一些东西,但我不知道是什么) 有人能帮帮我吗?老问题,但我想还是在这里留下答案吧 简而言之,答案是肯定的。该插件与语言无关,但面向测试格式

ruby中NET::HTTP的Curl等效代码段

NET:HTTP的语法似乎很复杂,可能会遗漏一些非常小的东西 然而,curl的历史要古老得多,而且有很好的文献记载 是否有一些文档/博客文章等发布了curl的NET:HTTP等效约束 例如: 要发出https请求,请使用: http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE 如何在NET:HTTP中使用像-u,-X,-H,-d这样的curl标志? 任何资源都会有帮助 谢谢 注意:在我使用的环境中不可能使用第三方gem

Ruby中括号的一些用法

我在网上发现了一个关于括号用法的例子,这对我来说并不自然: does = is = { true => 'Yes', false => 'No' } does[10 == 50] # => "No" is[10 > 5] # => "Yes" 有人能解释一下吗?{true=>'Yes',false=>'No'}是一个散列,所以做[10==50]==does[false]

从ruby脚本输出到屏幕的奇怪值

要输出到屏幕。相反,我得到了奇怪的随机数,比如 XXXXXXXXXXXXXXXXXXXXXXXX 及 有人能解释一下吗?Ruby中的作用域似乎比PHP/Javascript中的更奇怪 再次您好:)请尝试以下操作: -1945829393073068570 def散列\u计数 哈希=“” 散列我明白你对这个的期望。这是一个范围问题 变量hash已作为函数调用存在于块内外。无论何时使用相同的名称声明变量或函数,都将在该范围内隐藏它-即,使旧的变量或函数无效,并对该名称使用刚刚定义的行为 在您的例

Ruby 带空格分隔符的配置文件格式

我需要RubyGem来处理这个文件,它包含参数名和由空格分隔的值(比如像Unix的cfg/conf文件这样的格式)。以下是文件格式示例: key value ; comment foo 42 ; bar comment 我认为您可以使用,但您应该更改regexp param,value=line.split(/\s*=\s*/,2) 在第60行中,将=替换为空格(不记得如何在ruby中的regex中写入空格)

Ruby 如何从日期和年份中获取日期?

我试图将给定年份的日数转换回其日期,即方法的倒数yday。例如,考虑到2012年的第200天,我想得到日期2012-07-18。这是日期和日期时间的核心功能 看 d=Date.ordinal(2012,200) => # d=日期时间.序数(2012,200) => # 给出一些示例……或者非常感谢您的快速响应。 d = Date.ordinal( 2012, 200 ) => #<Date: 2012-07-18 ((2456127j,0s,0n),+0s,2299161j)>

Ruby新手,我在加载路径方面遇到了问题

我最近通过源代码编译在OSX10.8.3上安装了Ruby2.0.0。我用计算机检查了版本 $ ruby --version ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin12.3.0] $ gem env RubyGems Environment: - RUBYGEMS VERSION: 2.0.3 - RUBY VERSION: 1.8.7 (2012-02-08 patchlevel 358) [universal

Ruby 自制-运行Brew Doctor后更正警告-更改路径(/user/bin)问题

上下文 在中运行Brew Doctor命令时,我遇到此错误 安装自制()后的终端: 要解决此问题,我将按照以下说明进行操作: 当我输入到终端的sudo vi/etc/path(我在根上),顺便说一句,这是我上面提到的StackOverflow问题中给出的答案的一部分,我得到以下结果: 当我退出终端并键入Brew Docotor 同样的警告 问题 主要问题:我做错了什么 辅助问题:为什么在终端中,我不能在运行命令后键入任何内容 辅助问题:为什么在运行命令后会有这么多空格和~字符 运

Ruby 在PRAWN PDF中显示ckEditor上载的图像

我在应用程序中使用的宝石有对虾、Cloudinary、Carrierwave和ckEditor 我使用Cloudinary来存储图像。在Carrierwave的帮助下,我使用ckEditor(WYSIWYG)将图像上传到Cloudinary 下面是一个完整的ckEditor上传程序。 ckeditor_picture_uploader.rb class CkeditorPictureUploader < CarrierWave::Uploader::Base include Ckedito

Ruby gem更新失败,出现gem::ImpossibleDependenciesError

这真的很奇怪。我很惊讶这会成为一个问题。难道gem不应该简单地安装所有版本,而且bundler/Gemfile之类的工具将处理任何特定项目中的依赖关系吗?即使使用--force选项,也会出现相同的错误: $ gem update Updating installed gems Updating activeadmin ERROR: While executing gem ... (Gem::ImpossibleDependenciesError) arbre-1.0.1 require

Ruby 管道本地标准至';heroku run';-必须';你不写信给史都吗?4k标准输出缓冲器?

我正在使用thor编写命令行任务(在rails 3应用程序中),并试图通过heroku将输入传递给它们,例如,cat somefile.csv | heroku运行thor sometask 在我的本地机器cat somefile.csv | thor sometask上运行良好,但在heroku上可能会失败。有些版本的sometasks偶尔会工作,而另一些版本总是在某个特定点失败——问题之一是,cat somefile.csv在被thor sometask使用时会回显到控制台(这只发生在her

Ruby 如何扫描和删除数组中的元素并返回数组?

我正在尝试扫描电子邮件地址数组,并从数组中删除特定的域地址,然后返回它 这是我的代码: matches = ["abuse@peterstar.net", "hostmaster@peterstar.net", "noc@peterstar.net", "noc@tristatevoicedata.com", "abuse@ripe.net", "dpereira@affiliatedtech.com"] email = Array.new() emails = Array.new() matc

登录时出现Twitter错误Ruby on Rails

此代码用于授权来自twitter的登录页面,请求令牌和秘密令牌存储在配置中的yml db中。每当我运行这段代码时,它都会为nil:NilClass提供以下错误未定义的方法“[]” 请参见下面的图像和代码 class TwitterControllerAPP_CONFIG[:Twitter][:consumer_key],:consumer_secret=>APP_CONFIG[:Twitter][:consumer_secret]) 结束 结束 请从下载代码 您可能没有在APP\u CONF

Ruby Puts语句未将消息打印到控制台

我在脚本中放置了一些put语句。但是这些信息没有打印出来;脚本正在传递这些语句。我观察到执行进入rakeput的时刻在整个流程中都不起作用 规范内辅助对象 class Testbed puts "Inside test bed" // This puts is printed some code some code some code some code end RSpec.configure do |config| puts "In side rspec config" // This

如何确定Ruby中字符串的编码

我通过TcpSocket类的get.chomp接收到一个字符串。如何确定此字符串的编码?然后我需要将其转换为Windows控制台编码,以便打印它。在Ruby中是否有任何内置方式或第三方库来实现这一点 提前感谢。 如何确定此字符串的编码 使用此方法-返回表示obj编码的编码对象 然后我需要将其转换为Windows控制台编码,以便打印它 看看这个课程,了解如何转换为所需的编码

Ruby 计数阈值点击

一个人跑步,需要帮助。如果你有一系列的数字,并且想计算价值观跨越障碍的次数,你会怎么做 series = [1, 6, 2, 4, 1, 9, 2] series.hit_counts(upper=7, middle=5, lower=3) #returns 3 详细信息 1 -> 6 = +1 (Going from 1 to 6 hits the lower and middle threshold) 6 -> 2 = +0 (The high value, 6, never

Ruby pg:exec_参数不替换参数?

首次使用pggem访问postgres数据库。我已成功连接,可以使用#exec运行查询,但现在使用#exec\u params构建简单查询似乎并没有替换参数。即: get '/databases/:db/tables/:table' do |db_name, table_name| conn = connect(db_name) query_result = conn.exec_params("SELECT * FROM $1;", [table_name]) end 结果为# 这似乎

Ruby 如何折叠HTML空白?

主持人:在你投票结束这个问题之前,请问你自己:“我投票结束这个问题是因为别人以前做过,还是因为它确实不是一个有效的问题?” 我正在使用来处理用户生成的内容。它是“放松”选项的一种变体,有时在消毒后会出现类似的内容,这将产生不必要的空白 如果有任何换行符,像这样的内容如何一般转换为只有一个换行符,或者如果只有空标记,如何转换为什么都没有 输入内容可以是用户生成的任何内容。清理后产生的内容大部分是干净、清理过的HTML,但有时包含无用的空格,这会导致不必要的空白行,应该进行压缩。您可以采取最简单的方

Ruby 如何正则化两组数据

我的文本包含对我的数据的描述,并以两组数据结尾: LONG TEXT - TAGS:(Array of TAGS) - URL 我需要解析这个文本并构造我的数据 我的想法是要有这样的东西: a="LONG TEXT. Tags:[ex1,ex2,ex3]" 然后使用a=a.partition(“Tags:”)(partition分割arg上的文本),这样我就可以在a[0]上得到长文本,在a[2]上得到标记,然后我将它们分割成所有单独的标记。如果“标记:在长文本中,这可能是一个问题,但我可以使

使用Ruby Savon根据WSDL验证XML响应

我正在使用Ruby/Cucumber/Savon自动化Soap Web服务。我需要根据wsdl文件验证响应。Savon文档没有提到在任何地方验证XML响应。有人知道这样做的好办法吗 谢谢, Harv Gill用于SOAP消息的优秀支持(即WSDL的“类型”部分应包含引用或内联XSD) xsd=Nokogiri::XML::Schema(File.read(Schema_File)) doc=Nokogiri::XML(File.read(XML_文件)) xsd.validate(doc).每个

用于格式化日期的Ruby函数

我需要格式化日期字符串的帮助。我有一个JSON对象,其中包含元素“开始日期”和“结束日期”。这些元素以字符串形式包含日期信息,例如: "2015-07-15" 我已创建此方法来格式化我的开始日期和结束日期: def format_date(date) date.to_time.strftime('%b %d') end 此方法的作用是将日期格式化为以下格式: "Jul 15" 此方法帮助我将开始日期和结束日期打印到表单中: "Jul 15 to Jul 27" 我想要的是将我的日

Ruby 如何防止RSpec缩写match_数组输出?

我刚刚注意到RSpec的match_数组正在简化错误响应。e、 g expected collection contained: [beginning, of, the, array....end, of, the, array] 过去情况并非如此。以前,输出显示了整个数组的内容,因此更容易确定问题的原因 我已经有一段时间没有在这些测试中遇到失败的match_array,所以我不确定发生了什么变化。是否有设置提供更详细的match\u array消息 您可以使用expect\u withcon

Ruby 在另一个函数中调用函数时出现未知参数

在我的模块中,我定义了两个函数,它们的名称相同,但参数数量不同 module MyMod def self.doTask(name:, age:) doTask(name: "John", age: 30, career: "Teacher") end def self.doTask(name:, age:, career:) puts "name:#{name}, age:#{age}, career:#{career}" end end 如上所述,在doTask中,

接收Ruby中输入的电话号码

该应用程序使用RESTAPI发送消息,但实际上“收件人”号码是硬编码到应用程序中的。我希望这个数字是用户输入的值 HTML: <!DOCTYPE html> <head> <title>Joe's Web App</title> <link rel="stylesheet" type="text/css" href="index.css" media="screen"/> </head> <body>

如何在centos或ruby docker容器中运行ruby gem?

我正在尝试将徽章添加到我们构建的应用程序图标中。有一个叫做badge的ruby宝石,它做得很好() 我尝试在macos虚拟机上安装badge,用于构建应用程序。它打破了其他东西,因为它有很多依赖关系。所以我试着在官方的ruby docker容器中运行badge docker run -ti ruby 我无法安装任何东西,因为没有预先安装的wget或gem irb(main):001:0> gem Traceback (most recent call last): 3:

如何使用Watir和Ruby定位twitter登录按钮?

我正在尝试使用一个名为Watir的gem来定位twitter登录按钮 这是按钮标记: <button type="submit" class="submit EdgeButton EdgeButton--primary EdgeButtom--medium">Log in</button> 我收到这个错误: Watir::Exception::UnknownObjectException:30秒后超时,>等待Watir::Button:定位:false;>{:class

Ruby 使用Heroku上的Web包在Rails上做出反应-未使用CSS。-用于本地部署

我有一个应用程序,它使用React作为ruby上rails的前端。React组件使用现在随rails附带的Web包集成到rails中 版本: React版本16.8 ruby-2.6.3 轨道-5.2.3 纱线v1.17.3 未使用React css。这适用于default.css和PrimeReact包中的toi 路径位置为 应用程序 javascript css-用于Deafolt css img-用于从css引用的背景图像 PrimeReact通过package.json加载 { "na

Ruby 为什么';t Heroku检测到我的Sinatra应用程序?

我使用的是Heroku开发中心提供的最简单的结构和代码: “hello.rb”文件 require 'sinatra' get '/' do "Hello World" end “config.ru”文件 require './hello' run Sinatra::Application “gemfile”文件 source 'https://rubygems.org' gem 'sinatra' 在候机楼我做了: $git init $heroku create $bundle

普通Ruby:只为DateTime实例设置时区

所有现有答案都使用lib或Rails。我需要用纯红宝石做这个。我还发现很难想象像Ruby这样漂亮的语言会让这变得如此困难 我有许多这样的日期字符串:07 11月20日。我可以使用以下方法将它们解析为DateTime实例: >需要“时间” =>正确 >DateTime.strTime(“20年11月7日,“%d%b%y”) => # >新的偏移量(“+05:30”) => # 我们可以看到,使用DateTime#new_offset不仅可以更改偏移量,还可以更改时间。似乎不存在任何其他方法仅更改