Tag: ruby

什么&:在ruby中意味着什么?它是一个与符号混合的块?

可能重复: map(&:name)在Ruby中意味着什么? Ruby / Ruby on Rails&符号冒号快捷方式 例如, contacts.sort_by(&:first_name). 我理解这是做什么的,但是我不明白&:符号,这意味着什么,它是一个带有块(&)的符号(:)? 我在哪里可以阅读更多相关信息?

Snow Leopard + Ruby 1.9.1 + MySQL Gem =巨大的问题

我尝试了大约3-4个小时试图在雪豹上安装ruby 1.9.1的mysql gem。 在我升级到雪豹之前,mysql gem曾经在1.9.1上运行得很好。 我从我的机器上卸载了MySQL服务器和gem。 然后我下载并安装:mysql-5.1.37-osx10.5-x86_64.dmg。 我已经断言我安装的这个新版本是作为64位应用程序运行的。 我卸载了mysql gem。 当我尝试使用此命令安装gem时: env ARCHFLAGS =“ – arch x86_64”gem install mysql –verbose – –with-mysql-config = / usr / local / mysql / bin / mysql_config 我收到了这个错误: GET 304未修改:http://gems.rubyforge.org/latest_specs.4.8.gz GET 200 OK:http://gems.github.com/latest_specs.4.8.gz 安装gem mysql-2.8.1 /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/COPYING /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/COPYING.ja /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/History.txt /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/Manifest.txt /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/README.txt /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/Rakefile /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/ext/mysql_api/extconf.rb /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/ext/mysql_api/mysql.c /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/extra/README.html /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/extra/README_ja.html /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/extra/tommy.css /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/lib/mysql.rb /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/tasks/gem.rake /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/tasks/native.rake […]

有什么方法可以确定哪个对象叫做方法?

我希望Ruby的消息传递基础设施意味着可能有一些聪明的技巧。 如何确定调用对象 – 哪个对象称为我当前使用的方法?

Ruby 1.8.7中的Exponentiation返回错误的答案

我尝试在irb中计算3 ** 557时遇到了这个问题。 Ruby和MacRuby都安装在我的Mac(OS X 10.8)中。 ruby的版本是1.8.7,MacRuby 0.12(ruby 1.9.2)。 rib和macirb在计算3 ** 557时给了我两个不同的答案。 (macirb是对的。) $ irb >> 3**557 => 54755702179342762063551440788945541007926808765326951193810107165429610423703291760740244724326099993131913104272587572918520442872536889724676586931200965615875242243330408150984753872526006744122187638040962508934109837755428764447134683114539218909666971979603 $ macirb irb(main):001:0> 3**557 => 57087217942658063217290581978966727348872586279944803346410228520919738045995056049600505293676159316424182057188730248707922985741467061108015301244570536546607487919981026877250949414156613856336341922395385463291076789878575326012378057561766997352898452974964563 然后我尝试了更大的东西,例如3 ** 5337,这次我得到了相同的答案。 那么,这是Ruby 1.8.7中的一个错误,还是我应该使用另一种方法来计算取幂?

如何在Ruby中从下到上读取文件?

我一直在为Rails应用程序的日志查看器工作,并且发现我需要从下到上阅读大约200行日志文件,而不是默认的从上到下。 日志文件可能会变得非常大,所以我已经尝试并排除了IO.readlines(“log_file.log”)[ – 200 ..- 1]方法。 有没有其他方法可以在Ruby中向后读取文件而无需插件或gem?

Ruby on rails:设计,想添加邀请码?

我想为用户添加一个invite_code要求进行注册。 IE浏览器。 除了要求他们指定电子邮件/密码组合,我还想要一个额外的字段:invite_code。 这是一个临时修复,以便非通缉的用户在给定的alpha期间无法登录。 我很困惑,因为Devise没有添加控制器。 我对虚拟属性的概念很熟悉,我觉得我可以将:invite_code添加到模型中,然后只需硬编码一步就可以说邀请代码必须等于12345或者其他任何东西。 设计认证是否有意义? 我如何从适当的轨道安静的方法接近这个? 非常感谢你。

对象分配和指针

我对Ruby中的对象赋值和指针有点困惑,并编写了这个代码片段来测试我的假设。 class Foo attr_accessor :one, :two def initialize(one, two) @one = one @two = two end end bar = Foo.new(1, 2) beans = bar puts bar puts beans beans.one = 2 puts bar puts beans puts beans.one puts bar.one 我曾经假设当我将bar分配给bean时,它会创建一个对象的副本,而修改一个不会影响另一个。 唉,输出显示不然。 ^_^[jergason:~]$ ruby test.rb # # # # 2 2 我相信数字与对象的地址有关,而且对于bean和bar都是相同的,当我修改bean时,bar也会被改变,这不是我所期望的。 看来我只是创建一个指向对象的指针,而不是它的副本。 在分配时复制对象而不是创建指针需要做什么? 使用Array类进行的测试也显示了一些奇怪的行为。 foo […]

3 Equals或Case Equality运算符

在Ruby Integer === 5返回true 。 类似String === “karthik”返回true 。 但是, 5 === Integer返回false 。 而”karthik” === String 。 为什么操作员不能交换?

如何在vim中使用正确的ruby? 如何在VIM中修改$ PATH?

我使用普通的Vim和​​Lion上的ruby支持(由gist安装)。 我正在使用ruby和rbenv,所以我的路径看起来像/users/me/.rbenv/shims:….. 从vim内部的路径是 :!echo $PATH > usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/fb/.rbenv/shims:…. 即使我可以创建和修改环境变量: :let $PATH = “/bar:/foo” :!echo $PATH > /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/foo:/bar 路径仍然以/ usr / bin开头。 那么如何在〜/ .rbenv / shims中访问我的ruby 1.9.3而不是/ usr / bin中的系统ruby?

尝试运行测试时获取未初始化的常量错误

我刚刚更新了所有的gem,我发现在尝试运行Test :: Unit测试时我遇到了错误。 我收到下面复制的错误。 这来自于创建新的空Rails项目,搭建一个简单的模型,以及运行rake test 。 尝试谷歌搜索“未初始化的常量”和TestResultFailureSupport。 我发现的唯一一件事是2007年的这个错误报告 。 我正在使用OS X. 这些是我在测试停止工作之前更新的gem: $ sudo gem outdated Password: RedCloth (4.2.1 < 4.2.2) RubyInline (3.8.1 < 3.8.2) ZenTest (4.1.1 < 4.1.3) bluecloth (2.0.4 < 2.0.5) capistrano (2.5.5 < 2.5.8) haml (2.0.9 < 2.2.1) hoe (2.2.0 < 2.3.2) json (1.1.6 < 1.1.7) mocha (0.9.5 < 0.9.7) rest-client […]