草庐IT

zone_symbol

全部标签

ruby - 为什么我的 rubgems 没有建立二进制文件的符号链接(symbolic link)?

我在Ubuntu11.04上使用rvm从源代码安装了ruby​​1.9.2p180。当我安装生成命令行二进制文件的gem时,未生成链接。例如,当我安装passengergem时,/var/lib/gems/1.9.2/bin/passenger已按预期安装并正常工作,但符号链接(symboliclink)不是来自/usr/bin/passenger符合预期。更新实际上,我对供应商ruby​​和gem有同样的问题(在从未有过rvm的不同11.04服务器上)。$sudogeminstallbundler$bundlebash:bundle:commandnotfound$typebundl

ruby-on-rails - spring & rvm 符号链接(symbolic link)别名命令到 bin/

我将Rails4与spring&spring-commands-rspecgem一起使用。这个问题与此有关:springusingbydefault当我运行timerspec时,我得到大约5秒的时间。如果我运行timebin/rspec我有2秒。如果我运行timerake-T我得到3秒,如果我运行timebin/rake-T我得到不到一秒。问题出在哪里?为什么我需要通过bin/binstubs运行所有命令以通过spring解析它们。我怎样才能避免这种情况?github上的相关问题:https://github.com/jonleighton/spring-commands-rspec/

ruby -/usr/bin/env : ln: Too many levels of symbolic links

这个问题让我很难受,我觉得我已经尝试了一切。首先,问题在升级到Capistrano3时开始出现。Capistrano现在在部署时在每个命令之前使用/usr/bin/env,以确保环境设置正确。当Capistrano创建指向必要的共享目录和相应文件的符号链接(symboliclink)时,它会尝试如下命令:/usr/bin/envln-s/full/path/different/full/path...然后它出错了:/usr/bin/env:ln:Toomanylevelsofsymboliclinks我意识到这不是Capistrano的错,所以我开始通过ssh连接到我的服务器并尝试相同

Ruby Symbol#to_proc 在 1.9.2-p180 中泄漏引用?

好的,这是我第二次尝试调试Sinatra应用程序的内存问题。我相信这次我已经将它确定为简单的示例代码。似乎当我通过.map(&:some_method)过滤数组时,它会导致该数组中的项目无法被垃圾回收。运行等效的.map{|x|x.some_method}完全没问题。演示:给定一个简单的示例类:classCdeffoo"foo"endend如果我在IRB中运行以下命令,它会被正常收集:ruby-1.9.2-p180:001>a=10.times.map{C.new}=>[...]ruby-1.9.2-p180:002>b=a.map{|x|x.foo}=>["foo","foo","f

ruby 1.8.7 : Symbol not found Error

刚刚在带有新gem集(使用RVM)的机器上全新安装了ruby​​1.8.7REE和MRI,但是当我尝试使用memprof时,我得到了这个错误$geminstallmemprof$irb>>require'rubygems'>>require'memprof'>>LoadError:dlopen(/Users/schneems/.rvm/gems/ruby-1.8.7-p352@test/gems/memprof-0.3.10/lib/memprof.bundle,9):Symbolnotfound:__mh_bundle_headerReferencedfrom:/Users/schn

ruby-on-rails - Time.zone.at 比 Time.at 慢 10 倍

我有大量数据,在1个请求期间我实例化了Time30_000次。我检查了性能,发现从db查询数据花费了0.020秒,并用实例化了Time对象Time.zone.at(seconds_with_fraction)用了0.5秒。我对Time.zone.at和Time.at之间的差异进行了基准测试,并得到:putsBenchmark.measure{30_000.times{Time.zone.at(1439135459.6)}}0.5100000.0100000.520000(0.519298)和putsBenchmark.measure{30_000.times{Time.at(14391

ruby-on-rails - ruby 错误 : "Symbol as array index"

我正在为Controller的create方法编写规范:describe"POSTcreate"doit"shouldcreateanadtagwithvalidparams"docampaign=Campaign.makecampaign_attributes=Hash.newcampaign_attributes[:adtag_attributes]=Hash.newcampaign_attributes[:adtag_attributes][:code]="Samplecode"post'create',{:id=>campaign.id,:campaign=>campaign_

ruby-on-rails - 使用 RVM 为 Ruby 创建符号链接(symbolic link)

我正在关注这个https://www.digitalocean.com/community/tutorials/how-to-deploy-a-rails-app-with-passenger-and-nginx-on-ubuntu-14-04但是我已经使用RVM安装了Ruby,因为它易于维护。我正在为ruby​​创建一个符号链接(symboliclink),在本指南中它说sudorm/usr/bin/rubysudoln-s/usr/local/bin/ruby/usr/bin/ruby但是因为我已经使用了RVM并且我运行了它whichruby​​我得到以下路径root@99atom

ruby - Symbol#to_proc 自定义方法

我喜欢在Ruby中如何将方法作为block传递,就像这样使用Symbol#to_proc:[1.0,2.0,3.0].map(&:to_i)#=>[1,2,3]我还可以定义自己的lambda,times_two,并将其作为block传递:times_two=->(x){x*2}[1,2,3].map(×_two)#=>[2,4,6]虽然我似乎不能将times_two作为符号传递:[1,2,3].map(&:times_two)#=>ArgumentError:wrongnumberofarguments(0for1)然而,当我尝试用一​​种方法做同样的事情时,我得到了一个错误

ruby - 是{ 'symbol name' : "some value" } valid Ruby 2 syntax for Hashes?

TL;DR——问题{'symbolname':5}和{"symbolname":5}是否有效且定义明确的Ruby2哈希语法?6种哈希符号,其中2种未知在Ruby2中,以下Hash文字符号是等效的:{:my_key=>5}{my_key:5}{:'my_key'=>5}{:"my_key"=>5}第一行是通用的哈希文字表示法(也适用于非符号键),键使用默认的符号文字表示法。第二行是Ruby2引入的新的简写符号Ruby1.9用于以符号为键的哈希。第三行同样是通用的Hash字面量表示法,键带有替代的Symbol字面量表示法。(如果您需要在符号名称中包含空格或其他花哨的字符,则此替代符号文字表