Tag: ruby

RVM不是一个函数,用'rvm use …'selectruby将不起作用

列出ruby版本 console:~$ rvm list rvm rubies ruby-2.0.0-p481 [ i686 ] # => – current # =* – current && default # * – default 尝试使用特定版本的ruby console:~$ rvm use 2.0.0 RVM is not a function, selecting rubies with 'rvm use …' will not work. You need to change your terminal emulator preferences to allow login shell. […]

数组元素的索引比O(n)快

鉴于我有一个巨大的数组,并从它的价值。 我想获得数组中的值的索引。 有没有其他的方法,而不是调用Array#index来获取它? 这个问题来自保持真正巨大的数组并且需要调用Array#index巨大的时间。 经过几次尝试之后,我发现通过使用(value, index)字段而不是值本身存储结构来caching索引内容会给性能带来巨大的一步(20倍的胜利)。 我仍然想知道是否有一个更方便的方式来find没有caching的元素索引(或者有一个很好的caching技术可以提高性能)。

耙db:testing:准备做什么?

我正在跟踪教程video,我无法弄清楚db:test:prepare命令实际上做了什么。 有人可以提供解释吗?

为什么所有的活动logging都讨厌?

随着我越来越多地了解面向对象,并开始实施各种devise模式,我不断回到人们讨厌活动logging的情况 。 人们经常说它不能很好地扩展(引用Twitter作为主要例子),但是没有人真正解释为什么它不能很好地扩展; 和/或如何在没有缺点的情况下实现AR的优点(通过类似但不同的模式?) 希望这不会变成一场关于devise模式的圣战 – 我想知道的仅仅是特别的**** Active Record有什么问题。 如果不好,为什么不呢? 还有什么其他问题?

erb的含义是什么?

为什么Rails应用程序的视图格式为*.erb.html ? “erb”是什么意思?

EOFError:文件结尾达到Net :: HTTP的问题

我正在使用ruby-1.8.7-p302 / Rails 2.3.11。 我正在尝试使用fql(facebook api)获取链接的统计信息。 这是我的代码: def stats(fb_post_url) url = BASE_URI + "?query=#{URI.encode("select like_count from link_stat where url=\"#{fb_post_url}\"")}" parsed_url = URI.parse(url) http = Net::HTTP.new(parsed_url.host, parsed_url.port) request = Net::HTTP::Get.new(parsed_url.request_uri) response = http.request(request) response.inspect end 这是错误的: EOFError: end of file reached from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/protocol.rb:135:in `sysread' from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/protocol.rb:135:in `rbuf_fill' from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/timeout.rb:67:in `timeout' from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/timeout.rb:101:in `timeout' from /home/rahul/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill' […]

可能访问哈希每个循环中的索引?

我可能错过了一些明显的东西,但是有没有一种方法可以访问每个循环中散列内部迭代的索引/计数? hash = {'three' => 'one', 'four' => 'two', 'one' => 'three'} hash.each { |key, value| # any way to know which iteration this is # (without having to create a count variable)? }

什么是Ruby新手应该警告一个新手?

最近我学习了Ruby编程语言,总而言之,这是一门很好的语言。 但是我很惊讶地看到,这并不像我预料的那么简单。 更确切地说,“最less突击规则”对我来说似乎不是很受尊重(当然这是相当主观的)。 例如: x = true and false puts x # displays true! 和着名的: puts "zero is true!" if 0 # zero is true! 你会警告一个Ruby新手呢,还有什么其他的“Gotchas”?

如何将link_to包装在一些html ruby​​代码中?

如何包装视图代码的链接? 我无法弄清楚如何将多行代码和ruby代码传递给一个link_to方法。 我正在寻找的结果是,你点击列,并获得显示页面: <div class="subcolumns"> <div class="c25l"> <div class="subcl"> <%= image_tag album.photo.media.url(:thumb), :class => "image" rescue nil %> </div> </div> <div class="c75r"> <div class="subcr"> <p><%= album.created_at %></p> <%= link_to h(album.title), album %> <p><%= album.created_at %></p> <p><%= album.photo_count %></p> </div> </div> </div>

Ruby url编码string

我如何URI ::编码一个string,如: \x12\x34\x56\x78\x9a\xbc\xde\xf1\x23\x45\x67\x89\xab\xcd\xef\x12\x34\x56\x78\x9a 为了得到它的格式如下: %124Vx%9A%BC%DE%F1%23Eg%89%AB%CD%EF%124Vx%9A (根据RFC 1738) 以下是我所尝试的: irb(main):123:0> URI::encode "\x12\x34\x56\x78\x9a\xbc\xde\xf1\x23\x45\x67\x89\xab\xcd\xef\x12\x34\x56\x78\x9a" ArgumentError: invalid byte sequence in UTF-8 from /usr/local/lib/ruby/1.9.1/uri/common.rb:219:in `gsub' from /usr/local/lib/ruby/1.9.1/uri/common.rb:219:in `escape' from /usr/local/lib/ruby/1.9.1/uri/common.rb:505:in `escape' from (irb):123 from /usr/local/bin/irb:12:in `<main>' 也, irb(main):126:0> CGI::escape "\x12\x34\x56\x78\x9a\xbc\xde\xf1\x23\x45\x67\x89\xab\xcd\xef\x12\x34\x56\x78\x9a" ArgumentError: invalid byte sequence in UTF-8 from /usr/local/lib/ruby/1.9.1/cgi/util.rb:7:in `gsub' from /usr/local/lib/ruby/1.9.1/cgi/util.rb:7:in `escape' from (irb):126 from /usr/local/bin/irb:12:in `<main>' 我已经看了所有关于互联网,并没有发现(或更可能错过)一个方法来做到这一点,虽然我几乎积极的,有一天,我没有任何麻烦,所有这一切。 谢谢!