标签: ruby

Ruby中的proc和lambda有什么区别?

什么时候你会使用一个而不是另一个?

ruby

168
推荐指数
4
解决办法
3万
查看次数

检查Rails中是否存在表

我有一个rake任务,除非存在一个表,否则它将无效.我正在一个网站上与20多名工程师一起工作,所以我想确保他们已经迁移了表,然后才能执行一个rake任务,该任务将填充相应的表.

AR有这样的方法Table.exists吗?如何确保他们已成功迁移表?

ruby ruby-on-rails rails-migrations rails-activerecord

168
推荐指数
4
解决办法
5万
查看次数

如何将Ruby数组拆分(块)成X个元素的一部分?

我有一个阵列

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)

ruby arrays

167
推荐指数
2
解决办法
11万
查看次数

如何在YAML中创建一个空数组?

array_with_three_elements:
- 1
- 2
- 3

empty_array:
Run Code Online (Sandbox Code Playgroud)

有没有办法指定empty_array:是一个没有元素的数组,比如[]?当我将它加载到ruby哈希时,我希望它知道它是一个数组.

谢谢

ruby arrays yaml

167
推荐指数
1
解决办法
6万
查看次数

在OSX中卸载所有已安装的gem?

有些情况下,我想恢复和卸载以前的所有gem安装.

例如,我需要帮助朋友迁移他们的rails开发机器以使用RVM.由于他们以前使用过系统gem,他在处理多个项目时遇到了许多麻烦. 从本质上讲,他是RVM转换的典型代表.

我怎样才能优雅地卸载他的OSX系统上的所有宝石?

ruby rubygems

167
推荐指数
10
解决办法
9万
查看次数

是否有符号数组的文字符号?

我喜欢这个字符串数组的文字表达式:

%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)

但是使用文字就好了.

ruby arrays symbols syntactic-sugar

167
推荐指数
2
解决办法
4万
查看次数

Ruby数组到字符串的转换

我有像红宝石一样的数组['12','34','35','231'].

我想将它转换为类似的字符串'12','34','35','231'.

我怎样才能做到这一点?

ruby arrays string

166
推荐指数
7
解决办法
25万
查看次数

Ruby'require'错误:无法加载此类文件

我有一个文件,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一切正常.这可能是什么问题?

ruby require

166
推荐指数
7
解决办法
22万
查看次数

Ruby字符串比较,无论字符串大小写

我需要检查一下

"Apple" == "Apple"  # returns TRUE
"Apple" == "APPLE"  # returns FALSE
Run Code Online (Sandbox Code Playgroud)

在Ruby中.

我需要一个字符串比较,但检查不区分大小写.

ruby string string-comparison

165
推荐指数
5
解决办法
8万
查看次数

无法安装gem - 无法构建gem native扩展 - 无法加载此类文件 - mkmf(LoadError)

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)

ruby ubuntu gem ruby-on-rails bcrypt

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