Tag: ruby

错误:执行gem时(Errno :: EPERM)不允许操作

我刚刚更新我的Mac OS X 10.11埃尔卡皮坦和一些gem没有保留。 当我试图运行不同的gem安装时出现问题…例如: > sudo gem install compass 一旦我执行,我得到的错误: > ERROR: While executing gem … (Errno::EPERM) Operation not permitted 这发生在其他gem,以及… 我已经运行了自制软件,并试图再次安装Ruby,但没有任何工作。

为什么总和比注入(:+)快得多?

所以我在Ruby 2.4.0中运行了一些基准,并意识到这一点 (1…1000000000000000000000000000000).sum 而立即计算 (1…1000000000000000000000000000000).inject(:+) 需要很长时间才会中止手术。 我的印象是Range#sum是Range#inject(:+)的别名,但似乎不是这样。 那么sum是如何工作的?为什么它比inject(:+)更快呢? 注意 Enumerable#sum (由Range实现)的文档并没有提到任何有关懒惰评估的内容或者这些内容。

Rails 3.2,FATAL:用户对等身份validation失败(PG :: Error)

我在Ubuntu 11.10和RubyMine上运行我的开发 这里是我的database.yml的开发设置:哪个RubyMine为我创build的 development: adapter: postgresql encoding: unicode database: mydb_development pool: 5 username: myuser password: 当我尝试运行应用程序,我得到这个错误下面,似乎我没有创build一个'项目'的用户,但是,我怎么能创build一个用户,并授予它在postgres中的数据库? 如果这是个问题,那么在Ubuntu中推荐的工具是什么? 如果这不是问题,那么请咨询。 Exiting /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `initialize': FATAL: Peer authentication failed for user "project" (PG::Error) from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `new' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `connect' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:329:in `initialize' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `new' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `postgresql_connection' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:303:in `new_connection' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:313:in `checkout_new_connection' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:237:in `block (2 levels) […]

如何在Rspec中只运行特定的testing?

我认为有一种方法只运行给定标签的testing。 有人知道吗?

在Ruby中unit testing受保护和私有方法的最佳方法是什么?

在Ruby中使用标准的Ruby Test::Unit框架来testing受保护和私有方法的最佳方式是什么? 我敢肯定,有人会提出并教条主张“你只应该unit testing公共方法;如果需要unit testing,它不应该是一个保护或私人方法”,但我没有真正有兴趣辩论。 我有几个保护或私有的方法,由于良好和有效的原因,这些私有/受保护的方法是相当复杂的,并且类中的公共方法依赖于这些保护/私有方法正常运行,因此我需要一种方法来testing受保护/私有方法。 还有一件事…我通常把给定类的所有方法放在一个文件中,单元在另一个文件中testing这个类。 理想情况下,为了保持主源文件尽可能简单直接,我希望所有的魔法都能将这个“受保护和私有方法的unit testing”function实现到unit testing文件中,而不是主要的源文件中。

如何在Ruby中创build一个文件

我试图创build一个新的文件,事情似乎并没有像我期望的那样工作。 以下是我所尝试的: File.new "out.txt" File.open "out.txt" File.new "out.txt","w" File.open "out.txt","w" 根据我在网上阅读的一切,所有这些应该工作,但他们每一个给我这个: ERRNO::ENOENT: No such file or directory – out.txt 这发生在IRB以及一个ruby文件。 我错过了什么?

使用Ruby中的函数名称从string中调用函数

我怎么能做他们在这里谈论的,但在Ruby? 你将如何做一个对象的function? 以及你将如何做一个全球性的function(见jetxee在提到的职位上的答案 )? 示例代码: event_name = "load" def load() puts "load() function was executed." end def row_changed() puts "row_changed() function was executed." end #something here to see that event_name = "load" and run load() 更新:你如何得到全球的方法? 或我的全球function? 我尝试了这个额外的路线 puts methods 和load和row_change哪里没有列出。

如何查找一个string是否以Ruby中的其他string开头?

什么是最好的方式来find一个string开始与另一个在Ruby(没有轨道)?

RVM:卸载gemset的所有gem

我有全球性的gem和各种gem。 我想删除gem的所有gem。 有没有办法做到这一点,除了卸载gemset?

Ruby:如何查找并返回数组中的重复值?

arr是string数组,例如: ["hello", "world", "stack", "overflow", "hello", "again"] 。 什么是简单和优雅的方式来检查arr是否有重复,如果是的话,返回其中的一个(不pipe是哪一个)。 例子: ["A", "B", "C", "B", "A"] # => "A" or "B" ["A", "B", "C"] # => nil