我希望能够运行单个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中读取文件的常用方法是什么?
例如,这是一种方法:
fileObj = File.new($fileName, "r")
while (line = fileObj.gets)
puts(line)
end
fileObj.close
Run Code Online (Sandbox Code Playgroud)
我知道Ruby非常灵活.每种方法的好处/缺点是什么?
我有以下数组
cities = ["Kathmandu", "Pokhara", "", "Dharan", "Butwal"]
Run Code Online (Sandbox Code Playgroud)
我想从数组中删除空白元素,并希望得到以下结果:
cities = ["Kathmandu", "Pokhara", "Dharan", "Butwal"]
Run Code Online (Sandbox Code Playgroud)
有没有像compact这样的方法没有循环?
我在Ruby中有一个字符串:
sentence = "My name is Robert"
Run Code Online (Sandbox Code Playgroud)
如何在不使用复杂代码或循环的情况下轻松替换此句中的任何一个单词?
@title和之间有什么区别title?因为它们都可以是变量名.另外,我如何决定应该使用哪种变量?有@没有?
如何在ruby中编写循环以便我可以在每个文件上执行一段代码?
我是ruby的新手,我已经得出结论,这样做的方法是做每个循环.
ruby文件将从与我想要遍历的目录不同的目录执行.
我试过了Dir.foreach,我无法让它发挥作用.
关于这个问题的大多数问题是由于缺少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) 我有一系列哈希如下
[
{ :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)
但这个负号似乎不合适.任何意见?
我正在尝试做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)
如何完全删除此警告/错误?
我使用以下内容:
刚安装El Capitan并且无法安装gem eventmachine 1.0.7.openssl在1.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)