标签: ruby

如何在RSpec中运行单个测试/规范文件?

我希望能够运行单个spec文件的测试 - 例如,我正在编辑的一个文件. rake spec执行所有规格.我的项目不是Rails项目,所以rake spec:doc不起作用.

不知道这是否重要,但这是我的目录结构.

./Rakefile
./lib
./lib/cushion.rb
./lib/cushion
./lib/cushion/doc.rb
./lib/cushion/db.rb
./spec
./spec/spec.opts
./spec/spec_helper.rb
./spec/db_spec.rb

ruby testing rspec

271
推荐指数
11
解决办法
20万
查看次数

在Ruby中读取文件的常用方法是什么?

在Ruby中读取文件的常用方法是什么?

例如,这是一种方法:

fileObj = File.new($fileName, "r")
while (line = fileObj.gets)
  puts(line)
end
fileObj.close
Run Code Online (Sandbox Code Playgroud)

我知道Ruby非常灵活.每种方法的好处/缺点是什么?

ruby file-io

271
推荐指数
7
解决办法
33万
查看次数

如何从数组中删除空白元素?

我有以下数组

cities = ["Kathmandu", "Pokhara", "", "Dharan", "Butwal"]
Run Code Online (Sandbox Code Playgroud)

我想从数组中删除空白元素,并希望得到以下结果:

cities = ["Kathmandu", "Pokhara", "Dharan", "Butwal"]
Run Code Online (Sandbox Code Playgroud)

有没有像compact这样的方法没有循环?

ruby arrays

271
推荐指数
15
解决办法
19万
查看次数

替换字符串中的单词 - Ruby

我在Ruby中有一个字符串:

sentence = "My name is Robert"
Run Code Online (Sandbox Code Playgroud)

如何在不使用复杂代码或循环的情况下轻松替换此句中的任何一个单词?

ruby ruby-on-rails-3

269
推荐指数
4
解决办法
33万
查看次数

Ruby on Rails中的@变量

@title和之间有什么区别title?因为它们都可以是变量名.另外,我如何决定应该使用哪种变量?有@没有?

ruby variables ruby-on-rails

269
推荐指数
5
解决办法
15万
查看次数

遍历一个目录中的每个文件

如何在ruby中编写循环以便我可以在每个文件上执行一段代码?

我是ruby的新手,我已经得出结论,这样做的方法是做每个循环.
ruby文件将从与我想要遍历的目录不同的目录执行.

我试过了Dir.foreach,我无法让它发挥作用.

ruby filesystems directory

268
推荐指数
7
解决办法
15万
查看次数

无法在Lion下使用RVM安装Ruby - GCC问题

关于这个问题的大多数问题是由于缺少Xcode; 我安装了Xcode 4.2.

安装尝试:

rvm install 1.9.3
Installing Ruby from source to: /Users/jamie/.rvm/rubies/ruby-1.9.3-p0, this may take a while depending on your cpu(s)...

ruby-1.9.3-p0 - #fetching 
ruby-1.9.3-p0 - #extracted to /Users/jamie/.rvm/src/ruby-1.9.3-p0 (already extracted)
Fetching yaml-0.1.4.tar.gz to /Users/jamie/.rvm/archives
Extracting yaml-0.1.4.tar.gz to /Users/jamie/.rvm/src
Configuring yaml in /Users/jamie/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/jamie/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/jamie/.rvm/usr
ruby-1.9.3-p0 - #configuring 
ERROR: Error running ' ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr ', please read /Users/jamie/.rvm/log/ruby-1.9.3-p0/configure.log
ERROR: There has been an error while running configure. Halting the installation. …
Run Code Online (Sandbox Code Playgroud)

ruby gcc rvm xcode4.2 osx-lion

268
推荐指数
4
解决办法
8万
查看次数

在Ruby中按降序排序数组

我有一系列哈希如下

[
  { :foo => 'foo', :bar => 2 },
  { :foo => 'foo', :bar => 3 },
  { :foo => 'foo', :bar => 5 },
]
Run Code Online (Sandbox Code Playgroud)

我试图根据:bar每个哈希值中的降序对数组进行排序.

我正在使用sort_by如下排序数组.

a.sort_by { |h| h[:bar] }
Run Code Online (Sandbox Code Playgroud)

但是,上面按升序对数组进行排序.如何按降序排序?

一种解决方案是执行以下操作:

a.sort_by { |h| -h[:bar] }
Run Code Online (Sandbox Code Playgroud)

但这个负号似乎不合适.任何意见?

ruby sorting

266
推荐指数
5
解决办法
21万
查看次数

SSL错误安装rubygems时,无法从'https://rubygems.org/中提取数据

我正在尝试做Michael Hartl教程.当我尝试在我的gemset中安装rails 3.2.14时,我遇到以下问题:

$ gem install rails -v 3.2.14

错误:找不到有效的宝石'rails'(= 3.2.14),原因如下:

无法从https://rubygems.org/下载数据- SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败(https://s3.amazonaws.com/production.s3.rubygems.org /specs.4.8.gz)

谷歌搜索后,我发现我可以使用非SSL源的rubygems,所以我运行:

sudo gem sources -a http://rubygems.org
Run Code Online (Sandbox Code Playgroud)

然后,当我再次尝试安装rails时,它成功了.但是,我仍然遇到上述问题,但作为警告:

警告:无法从" https://rubygems.org/ " 提取数据:SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败(https://s3.amazonaws.com/production.s3 .rubygems.org/specs.4.8.gz)

如何完全删除此警告/错误?

我使用以下内容:

  • rvm 1.22.15
  • ruby 2.0.0p247(2013-06-27修订版41674)[x86_64-darwin12.3.0]
  • OSX 10.8.5

ruby ssl ruby-on-rails rvm

266
推荐指数
9
解决办法
14万
查看次数

gem eventmachine致命错误:找不到'openssl/ssl.h'文件

刚安装El Capitan并且无法安装gem eventmachine 1.0.7.openssl1.0.2a-1.试图使用--with-ssl-dir但似乎被忽略了.

报告给他们的github回购也.

任何建议都非常感谢.谢谢.

$ ls /usr/local/Cellar/openssl/1.0.2a-1/include/openssl/ssl.h
/usr/local/Cellar/openssl/1.0.2a-1/include/openssl/ssl.h

$ gem install eventmachine -v '1.0.7' -- --with-ssl-dir=/usr/local/Cellar/openssl/1.0.2a-1/include
/Users/pain/.rbenv/versions/2.1.2/bin/ruby -r ./siteconf20150612-56154-1hsjz2n.rb extconf.rb --with-ssl-dir=/usr/local/Cellar/openssl/1.0.2a-1/include
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... yes
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... yes
checking for rb_thread_fd_select()... yes
checking for rb_fdset_t in ruby/intern.h... yes …
Run Code Online (Sandbox Code Playgroud)

ruby macos homebrew openssl eventmachine

265
推荐指数
10
解决办法
6万
查看次数