我有一个rake任务,除非存在一个表,否则它将无效.我正在一个网站上与20多名工程师一起工作,所以我想确保他们已经迁移了表,然后才能执行一个rake任务,该任务将填充相应的表.
AR有这样的方法Table.exists吗?如何确保他们已成功迁移表?
我有一个阵列
foo = %w(1 2 3 4 5 6 7 8 9 10)
Run Code Online (Sandbox Code Playgroud)
如何将其拆分或"分块"为更小的数组?
class Array
def chunk(size)
# return array of arrays
end
end
foo.chunk(3)
# => [[1,2,3],[4,5,6],[7,8,9],[10]]
Run Code Online (Sandbox Code Playgroud) array_with_three_elements:
- 1
- 2
- 3
empty_array:
Run Code Online (Sandbox Code Playgroud)
有没有办法指定empty_array:是一个没有元素的数组,比如[]?当我将它加载到ruby哈希时,我希望它知道它是一个数组.
谢谢
有些情况下,我想恢复和卸载以前的所有gem安装.
例如,我需要帮助朋友迁移他们的rails开发机器以使用RVM.由于他们以前使用过系统gem,他在处理多个项目时遇到了许多麻烦. 从本质上讲,他是RVM转换的典型代表.
我怎样才能优雅地卸载他的OSX系统上的所有宝石?
我喜欢这个字符串数组的文字表达式:
%w( i can easily create arrays of words )
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一个文字来获得一个符号数组.我知道我能做到
%w( it is less elegant to create arrays of symbols ).map( &:to_sym )
Run Code Online (Sandbox Code Playgroud)
但是使用文字就好了.
我有像红宝石一样的数组['12','34','35','231'].
我想将它转换为类似的字符串'12','34','35','231'.
我怎样才能做到这一点?
我有一个文件,main.rb,内容如下:
require "tokenizer.rb"
Run Code Online (Sandbox Code Playgroud)
tokenizer.rb文件位于同一目录中,其内容为:
class Tokenizer
def self.tokenize(string)
return string.split(" ")
end
end
Run Code Online (Sandbox Code Playgroud)
如果我尝试运行main.rb,我收到以下错误:
C:\Documents and Settings\my\src\folder>ruby main.rb
C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- tokenizer.rb (LoadError)
from C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require '
from main.rb:1:in `<main>'
Run Code Online (Sandbox Code Playgroud)
我只是注意到,如果我使用load而不是require一切正常.这可能是什么问题?
我需要检查一下
"Apple" == "Apple" # returns TRUE
"Apple" == "APPLE" # returns FALSE
Run Code Online (Sandbox Code Playgroud)
在Ruby中.
我需要一个字符串比较,但检查不区分大小写.
Ruby 1.9.3
Gemfile的一部分
#...............
gem "pony"
gem "bcrypt-ruby", :require => "bcrypt"
gem "nokogiri"
#..................
Run Code Online (Sandbox Code Playgroud)
当我尝试安装宝石时,我收到一个错误
alex@ubuntu:~/$ bundle
Fetching gem metadata from http://rubygems.org/.........
Fetching gem metadata from http://rubygems.org/..
Enter your password to install the bundled RubyGems to your system:
#####............................................................
Installing bcrypt-ruby (3.0.1) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:36:in `<main>'
Gem files will remain installed in /home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1 for inspection.
Results …Run Code Online (Sandbox Code Playgroud)