将RMagick与Ocra捆绑在一起

我正在尝试用Ocra创建一个可移植版本的Ruby脚本。 该脚本依赖于rmagick ,它也需要安装ImageMagick。 生成的可执行文件在我的计算机上运行,​​但除非最终用户手动安装ImageMagick,否则它在其他所有计算机上都会失败。 我想创建一个可在任何Windows系统上运行的完全可移植的EXE文件,并且不需要最终用户手动安装ImageMagick。 有没有办法强制Ocra将ImageMagick DLL文件捆绑到EXE中? 如果没有,您如何创建需要rmagick可移植Ruby脚本? 我根本不熟悉Ruby,所以任何帮助都会受到赞赏。

Ruby:在Qt中创建一个简单的应用程序

我正在尝试创建一个简单的应用程序,通过Qt用Ruby编写。 我在Qt Designer中设计了一个表单(MainForm),并通过rbuic4将其翻译成Ruby代码表示。 纯粹的未触动结果有四种方法,看起来像这样: =begin ** Form generated from reading ui file ‘stackover.ui’ ** ** Created: Р’С‚ 24. РЅРѕСЏ 21:15:02 2009 ** by: Qt User Interface Compiler version 4.3.1 ** ** WARNING! All changes made in this file will be lost when recompiling ui file! =end class Ui_MainWindow attr_reader :centralwidget attr_reader :pushButton attr_reader :listView attr_reader […]

Ruby可以动态增加文件大小以进行测试

这可能听起来很奇怪,或者你为什么要那样做。 我正在尝试编写一个黄瓜function来测试上传大图像文件(> 16M)因此,我不想将大文件存储在github或我的项目中。 我正在使用imagemagick创建一个图像,但据我所知,只有1M。 我可以在ruby中增加文件大小吗? 我不关心文件内的内容,只关心文件大小。 谢谢,无论如何我可以欺骗黄瓜相信我,我上传的文件很大? 谢谢

MRI Ruby和jRuby之间的性能差异

在做一些基准测试以回答有关连接数组的最快方法的问题时,我很惊讶当我使用jRuby进行相同的基准测试时,测试速度要慢得多。 这是否意味着关于jRuby比MRI Ruby更快的旧的慢板已经消失了? 或者这是关于如何在jRuby中处理数组? 这里的基准测试结果和MRI Ruby 2.3.0和jRuby 9.1.2.0两者都运行在64位Windows 7盒子上,所有4个处理器忙于50-60%,内存使用±5.5GB。 必须使用参数-J-Xmx1500M启动jRuby以提供足够的堆空间。 由于堆栈级别太深,我不得不用推送删除测试,并且还删除了最慢的方法,以免使测试时间过长。 使用Jave运行时:1.7.0_21 require ‘Benchmark’ N = 100 class Array def concat_all self.reduce([], :+) end end # small arrays a = (1..10).to_a b = (11..20).to_a c = (21..30).to_a Benchmark.bm do |r| r.report(‘plus ‘) { N.times { a + b + c }} r.report(‘concat ‘) { N.times […]

获取libxml2.2.dylib的错误“文件不是必需的体系结构”

我正在尝试使用rvm在运行Snow Leopard的Mac上安装Ruby 1.9.2。 我的.bash_profile包含 ARCHFLAGS=”-arch x86_64″ 要安装ruby,我运行: rvm install 1.9.2 -C –enable-shared 编译时出错。 这是make.error.log: [2010-01-20 10:03:00] make ld: in /usr/local/lib/libxml2.2.dylib, file is not of required architecture collect2: ld returned 1 exit status make[1]: *** [../../.ext/i386-darwin10.2.0/tcltklib.bundle] Error 1 make: *** [mkmain.sh] Error 1 编辑: 我从源代码安装了readline并尝试了这样的安装: rvm install 1.9.2 -C –enable-shared,–with-readline-dir=/usr/local 这导致了与以前相同的错误。 rcltklib.bundle文件的位置是: /usr/local/lib/ruby/1.8/i686-darwin9.7.0/tcltklib.bundle (我认为这个文件是Ruby OSX安装的一部分)

如何引用哈希中键的值

我希望能够引用Hash一个键,这样如果该键的值发生变化,那么引用它的任何内容都会发生变化 hash = {} hash[1] = “foo” hash[2] = hash[1] hash[1] = “bar” puts hash[2] # I want this to be “bar” 这可能吗? 谢谢!

这个方法名称/局部变量混合会发生什么?

我在一些代码中发现了一个执行以下操作的方法: def method1 method1 = [1, 2, 2, 3, 4, 5, 5] return method1.uniq! end ruby如何处理这个? 我知道这是错误的代码,但ruby如何知道如何处理’method1.uniq!’ ? 它应该使用方法还是局部变量? 谢谢

Rails通过现有数据库进行迁移

我正在创建一个新的Rails 3.1应用程序。 我希望这个新的应用程序重用现有的数据库(由之前的rails 2应用程序创建)。 我创建了定义模型的新应用程序,它重用了数据库中的一些现有数据。 在开发和测试阶段,一切正常,因为它在一个干净的工作表数据库上运行,但在尝试部署到生产时,我得到的消息如下: PGError: ERROR: column “email” of relation “users” already exists *** [err :: localhost] : ALTER TABLE “users” ADD COLUMN “email” character varying(255) DEFAULT ” NOT NULL 但是我在我的迁移中认为是这样的 class DeviseCreateUsers false t.recoverable t.rememberable t.trackable t.timestamps end end 如何使db:migrate忽略已存在的内容并仅更改新内容和/或新类型? 我在stackoverflow上看到了类似的问题,但没有人回答这个问题。 谢谢你的回答。

带有node.js的Ruby子进程

我正在尝试将ruby实例作为我的节点程序的子进程启动。 事实上,一切都很好,但我无法与ruby的STDIN和STDOUT交互。 (当然ruby程序在我的终端上使用我的键盘输入) 所以这是一个我想要工作的简化代码…… simpleproc.js var util = require(‘util’), spawn = require(‘child_process’).spawn, ruby = spawn(‘ruby’, [__dirname + ‘/process.rb’]); ruby.stdout.on(‘data’, function (data) { console.log(‘stdout: ‘ + data); }); ruby.stderr.on(‘data’, function (data) { console.log(‘stderr: ‘ + data); }); ruby.on(‘exit’, function (code) { console.log(‘child process exited with code ‘ + code); }); ruby.stdin.write(“ping\n”); process.rb f = File.new(“process.log”, “w”) […]

Rails3 Active Admin:如何在首次点击Shipments标签时仅显示打开状态记录?

我正在使用ActiveAdmin。 我有一份包含打开和关闭状态(作为字符串)的货件清单。 当用户点击“货件”选项卡时,我只想显示“打开”货件。 我怎样才能做到这一点? 当然,用户以后可以选择使用filter查看已关闭的货件。 但我希望默认情况下最初只显示Open货件。