草庐IT

exec_proc

全部标签

ruby-on-rails - 在 Ruby 中使用 Symbol#to_proc 简写的链接方法?

我想知道是否有一种方法可以使用(&:method)链接一个方法例如:array.reject{|x|x.strip.empty?}把它变成:array.reject(&:strip.empty?)我更喜欢速记符号,因为它的可读性。 最佳答案 不,没有缩写。你可以定义一个方法:defreally_empty?(x)x.strip.empty?end并使用method:array.reject(&method(:really_empty?))或使用lambda:really_empty=->(x){x.strip.empty?}arra

ruby - bundle exec rspec spec/=> RUBYOPT : -F (RuntimeError) 中的无效开关

当我在Windows764位系统上运行bundleexecrspecspec/时,我收到以下错误:invalidswitchinRUBYOPT:-F(RuntimeError)我正在运行ruby​​1.9.2p136(2010-12-25)[i386-mingw32](安装在c:\ProgramFiles(x86)\Ruby192)和bundler1.0.15(作为ruby​​gem安装).关于如何解决这个问题的任何线索?谢谢,本 最佳答案 Bundler不喜欢Ruby的路径包含空格这一事实。为了解决这个问题,我编辑了runtime

ruby - 为什么 "bundle exec"会吃掉我传入的参数?

当我使用bundleexec调用命令时,它接受我传入的参数。一个例子是:bundleexecmy_commandrun--verbose在这种情况下,--verbose用作bundler参数,因为它应该用于my_command。我知道以下方法可行:bundleexec'my_commandrun--verbose'是否可以避免引号?我使用的命令已经有很多引号。我预计这样的事情会奏效,但它没有:bundleexec--my_commandrun--verbose我没有看到太多关于bundler的文档。任何想法将不胜感激。 最佳答案 这

ruby-on-rails - 使用 Upstart 管理 Unicorn w/rbenv + bundler binstubs w/ruby-local-exec shebang

好吧,这让我的大脑融化了。这可能与我不了解Upstart以及我应该了解的事实有关。对于这么长的问题提前致歉。我正在尝试使用Upstart来管理Rails应用程序的Unicorn主进程。这是我现在的/etc/init/app.conf:description"app"startonrunlevel[2]stoponrunlevel[016]consoleowner#expectdaemonscriptAPP_ROOT=/home/deploy/appPATH=/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:$PATH$APP_ROOT/

ruby-on-rails - Hartl 教程中的 bundle exec rspec spec/requests/static_pages_spec.rb 不起作用

我正在按照MichaelHartl的ruby​​onrails教程测试示例应用程序(3.2.1测试驱动开发),但在键入bundleexecrspecspec/requests/static_pages_spec.rb后出现以下错误/home/rahul/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver/common/zipper.rb:1:in`require':cannotloadsuchfile--zip/zip(LoadErr

ruby - 为什么 instance_eval 对 Proc 成功但对 Lambda 不成功?

我有以下类(class):classUsercode1=Proc.new{}code2=lambda{}define_method:testdoself.class.instance_eval&code1self.class.instance_eval&code2endendUser.new.test为什么第二个instance_eval失败并出现错误数量的参数(1代表0)错误? 最佳答案 instance_eval正在将self(User)生成给lambda。Lambda对其参数有特殊要求-方法也是如此-如果参数太少/太多,将引发

ruby-on-rails - "bundle exec spring"不与 rbenv 一起工作?

为什么bundleexecspring不起作用?我已经在调用bundleexec并返回错误。我可以一直调用bundleexec。(这是可能重复问题的解决方案)。我不会通过bundleupdatespring更新我的Gemfile或卸载一个版本的spring来完成这项工作。我不应该被迫更改我的gem安装。bundlebinstubsspring也不工作。steve-air:finalcloudmain$spring-vSpringversion1.3.5steve-air:finalcloudmain$bundleexecspring-vSpringversion1.3.4steve-a

ruby - 从字符串创建一个 ruby​​ Proc

我想将block定义为字符串,然后创建lambda。以下示例不起作用。这样的事情可能吗?code_string="|x|x*2"l=lambda{eval(code_string)}l.call(3)=>6 最佳答案 这行得通eval"lambda{"+code_string+"}"我只是不知道为什么这个有而另一个没有。 关于ruby-从字符串创建一个ruby​​Proc,我们在StackOverflow上找到一个类似的问题: https://stackove

ruby - 是否可以在 proc 中查看 ruby​​ 代码?

p=Proc.new{puts'ok'}是否可以在过程中看到ruby​​代码?inspect返回内存位置:putsp.inspect#ruby1.9.3 最佳答案 看看sourcifygem:proc{x+y}.to_source#>>"proc{(x+y)}" 关于ruby-是否可以在proc中查看ruby​​代码?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1502451

ruby - 如何在 ruby​​ proc/lambda 中使用真正的局部变量

初学者Ruby问题。更改此代码的最简单方法是什么,完整保留该block,从而消除副作用?x=lambda{|v|x=2;v}x.call(3)#=>3x#=>2这是我能想出的最简单的例子来说明我的问题,所以“删除分配”或“不要将Proc分配给x”不是我要找的。我想在Proc(或lambda)中设置局部变量,可以在不影响原始封闭范围的情况下对其进行赋值。我可以动态创建一个类或模块来包装block,但对于这样一个基本的东西来说,这似乎有点过分了。与我正在尝试做的等效的Python:defx(v):x=2#thisisalocalvariable,whataconceptreturnv