草庐IT

mysql - mysql有版本控制吗?

全部标签

ruby - 从 Ruby 内部使用 bundler 验证 gem 的版本

有没有办法从Ruby程序中验证我是否拥有最新版本的gem?也就是说,有没有办法以编程方式执行bundleoutdated#{gemname}?我尝试查看bundler的源代码,但找不到直接的方法。目前我正在做这个,它很脆弱,很慢而且很不优雅:IO.popen(%w{/usr/bin/envbundleoutdatedgemname})do|proc|output=proc.readlines.join("\n")returnoutput.include?("Yourbundleisuptodate!")end 最佳答案 避免外部执行

ruby, define []= operator, 为什么不能控制返回值?

尝试做一些奇怪的事情可能会变成更有用的事情,我尝试在自定义类上定义我自己的[]=运算符,你可以这样做,并让它返回一些不同于value参数,显然你做不到。[]=运算符的返回值总是value;即使您覆盖此运算符,您也无法控制返回值。classWeirddef[]=(key,value)puts"#{key}:#{value}"return42endendx=Weird.newx[:a]="a"output"a:a"returnvalue=>"a"#whynot42?有人对此有解释吗?有什么办法吗?rubyMRI1.8.7。所有ruby都一样吗?它是语言的一部分吗?

ruby-on-rails - 我如何在 ruby​​ on rails 控制台中加载文件?

我正在尝试加载一个文件,其中包含我所有的设置到Rails控制台中。我想这样做是因为当我使用控制台时重复太多。谢谢 最佳答案 您可以使用位于您的主目录中的.irbrc文件来设置IRB的配置。您可以在那里使用load、require以及您想要的任何内容。添加类似require'rubygems'和require'pp'的内容会有所帮助。有些人更大量地自定义文件。参见this例如。 关于ruby-on-rails-我如何在ruby​​onrails控制台中加载文件?,我们在StackOverf

ruby 流量控制

我在网上找不到任何有用的资源来分解Ruby的不同流控制选项。假设我在一个方法中遍历一个数组:defa_methodthings.eachdo|t|#controloptions?endend这里有哪些不同的流量控制选项?它们有何不同?重试返回休息下一个重做 最佳答案 retry可以在救援block内使用,在导致异常的条件得到纠正后跳回到开始block。在block内,它具有跳转到yielding方法开头的效果。所以在每个内部这意味着重试将跳转到循环的开头。return将从它所在的方法返回-在本例中是从a_method。break将从

ruby - 我可以使用 RSpec 模拟标准输入/标准输出来测试控制台读写吗?

我的Ruby程序从stdin读取行并使用puts打印到stdout(终端)。我可以使用RSpec来测试读写吗?我可以像在stdin中编写的那样向我的程序注入(inject)一个字符串,同时检查输出吗?line=STDIN.read.chomp.split另外,我在一个循环中进行读取和写入,直到line[0]被“退出”。我可以在循环运行时进行测试,还是应该调用subject.read_in和subject.write_out? 最佳答案 您可以使用模拟并通过在and_return()方法中列出多个值来多次调用该方法。这些将按照给定的顺

ruby-on-rails - Rails 控制台 : Run a Ruby file several times

Rails提供了一个非常有用的控制台('script/console')。我编写了一个ruby​​文件并使用requirefoo.rb在控制台中运行它。第一次工作正常,但第二次和下一次requirefoo.rb没有运行我的脚本(require没有重新加载它)。你有什么提示/技巧吗? 最佳答案 require用于加载扩展-因此代码将执行一次,以使扩展出现在您的环境中,但随后的require不会做任何事情,因为工作已经完成完成。load,另一方面,每次加载并执行代码。如前所述,如果你只是想运行你的脚本并且你需要Rails环境,那么可以考

ruby - 如何使用 RVM 管理多个 gemsets 和 ruby​​ 版本?

我对RVM网站上给出的解释感到非常困惑。我不清楚不同的ruby​​解释器和gemsets之间的关系。在我看来是这样的——我的Mac帐户有一个rvmrvm安装和管理一组不同版本的ruby​​解释器。每个ruby​​版本都有一组gemsets。我把事情说清楚了吗...欢迎提供更多解释。我可以处理(Ruby1.8.7+rails2.3.8及其依赖项)和(Ruby1.9.2和Rails3.0及其依赖项)...如果有人精通在rvm的帮助下处理许多ruby​​版本和gemsets,请向我解释......感谢您的帮助 最佳答案 这是我喜欢的方式.

ruby-on-rails - Nokogiri 是针对 LibXML 版本 2.7.7 构建的,但已动态加载 2.7.3

在Rails3中,我注意到每次调用框架时,无论是从rake、railsserver还是其他任何地方,我都会收到以下警告:NokogiriwasbuiltagainstLibXMLversion2.7.7,buthasdynamicallyloaded2.7.3在Google上搜索会得到一些博客文章,所有这些文章都建议使用显式库和包含路径重建Nokogiri。例如:http://mrflip.github.com/2009-08/nokogiri-hates-libxml2-on-osx.html但是,这并没有解决我的问题。输入nokogiri-v给我这个:---warnings:[]r

ruby - 在 Ruby 版本管理器 (RVM) 中清理旧引用

我需要释放本地计算机上的磁盘空间,该空间几乎已分配到我的Ruby版本管理器(RVM)目录中。现在,我似乎只有一个ruby​​版本(1.9.2p136):lsoave@ubuntu:~/rails/github/gitwatcher$ruby-vruby1.9.2p136(2010-12-25revision30365)[i686-linux]lsoave@ubuntu:~/rails/github/gitwatcher$lsoave@ubuntu:~/rails/github/gitwatcher$rvmlistrvmrubies=>ruby-1.9.2-p136[i386]lsoav

ruby-on-rails - Rails 控制台 : in `require' : cannot load such file -- readline (LoadError)

我的Rails应用程序出现一些错误,我正在尝试通过发出以下命令来启动Rails控制台:railsconsole无论我尝试什么,我总是得到同样的错误:/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/irb/completion.rb:9:in`require':cannotloadsuchfile--readline(LoadError)from/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/irb/completion.rb:9:in`'from/opt/mammie/web/icosole