标签: ruby-1.9.2

为什么YAML.load返回错误的数值?

为什么YAML.load返回错误的值?

ruby-1.9.2-p0 :006 > a = YAML.load('merchant_id: 014213245611111')
 => {"merchant_id"=>843333440073} 
ruby-1.9.2-p0 :007 > a["merchant_id"]
 => 843333440073 
Run Code Online (Sandbox Code Playgroud)

我在ruby 1.9.2-p0,rvm,ubuntu10.10,64bit.

ruby yaml ruby-1.9 ruby-1.9.2

3
推荐指数
1
解决办法
443
查看次数

Ruby中的空格规则是什么?

a = [2,4,5]
a.count-1 => 2
a.count - 1 => 2
Run Code Online (Sandbox Code Playgroud)

a.count -1 => 0
Run Code Online (Sandbox Code Playgroud)

是什么导致这种行为?如果a是整数(而不是数组),为什么不会发生?

另外,我注意到方法名称和后面的括号之间不能有空格(对于参数).这是为什么?

Ruby 1.9.2

ruby ruby-on-rails spaces ruby-1.9.2

3
推荐指数
1
解决办法
1035
查看次数

无法删除RVM中的bundler

我在RVM中安装了1.9.2 Ruby.当我做一个宝石列表时,我得到了这个:

bundler (1.1.3)
Run Code Online (Sandbox Code Playgroud)

当我尝试删除它时,我得到:

gem uninstall bundler
INFO:  gem "bundler" is not installed
Run Code Online (Sandbox Code Playgroud)

当我尝试为我的应用程序运行bundle install时,我得到:

 Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    rails (= 3.0.1) ruby depends on
      bundler (~> 1.0.0) ruby

  Current Bundler version:
    bundler (1.1.3)

This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
Run Code Online (Sandbox Code Playgroud)

我试过卸载1.9.2,但没有帮助.

bundler ruby-on-rails-3 ruby-1.9.2

3
推荐指数
1
解决办法
2394
查看次数

Ruby 1.9.2 + Rails 3.0.3 + postgresql + windows vista

我想在我的Windows Vista机器上安装Ruby1.9.2/Rails3.0.3,并将PostgreSQL 9.0作为我的数据库.

我在网上看到了许多不同的指示,说明哪些有效,哪些无效.

谁能告诉我必须安装哪些gem才能让Ruby1.9.2/Rails 3.0.3在Windows Vista上驱动PostgreSQL 9.0?

我感谢你能给我的任何帮助.

postgresql windows-vista ruby-on-rails-3 ruby-1.9.2

2
推荐指数
1
解决办法
2188
查看次数

哪个zip库适用于Ruby 1.9.2?

之前我在Ruby 1.8.7中使用过rubyzip gem,但我听说rubyzip与ruby 1.9.2不兼容.

什么zip库与Ruby 1.9.2一起使用?

ruby zip rubyzip ruby-1.9.2

2
推荐指数
1
解决办法
2032
查看次数

为什么在视图中识别非英语字符串而在Rails 3中没有帮助?

为什么这个:

<%= foo("???????") %>
Run Code Online (Sandbox Code Playgroud)

在视图中工作,但这:

foo("???????")
Run Code Online (Sandbox Code Playgroud)

帮助不起作用?

Error: syntax error, unexpected $end, expecting ')'
Run Code Online (Sandbox Code Playgroud)

文件的编码是UTF-8.

ruby-on-rails ruby-on-rails-3 ruby-1.9.2

2
推荐指数
1
解决办法
52
查看次数

独角兽崩溃循环

我正在尝试在我的Ubuntu 11.04机器上使用Nginx设置Unicorn.我从源代码编译Ruby,(之前尝试过RVM,但有很多问题),现在安装unicorn(以及rails 3.1.0 RC4)之后,它有一个奇怪的问题,它会崩溃,然后尝试运行崩溃的部分反复,或至少是它的样子.

产量

root@server-pc:/usr/local/blog# unicorn_rails
I, [2011-07-15T13:14:50.577149 #23269]  INFO -- : listening on addr=0.0.0.0:8080 fd=3
I, [2011-07-15T13:14:50.577677 #23269]  INFO -- : worker=0 spawning...
I, [2011-07-15T13:14:50.579412 #23269]  INFO -- : master process ready
I, [2011-07-15T13:14:50.581087 #23271]  INFO -- : worker=0 spawned pid=23271
I, [2011-07-15T13:14:50.581599 #23271]  INFO -- : Refreshing Gem list
/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime.rb:31:in `block in setup': You have already activated rack 1.3.1, but your Gemfile requires rack 1.3.0. Consider using bundle exec. (Gem::LoadError)
        from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/spec_set.rb:12:in `block in each'
        from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/spec_set.rb:12:in …
Run Code Online (Sandbox Code Playgroud)

deployment unicorn ruby-1.9.2 ubuntu-11.04 ruby-on-rails-3.1

2
推荐指数
1
解决办法
3953
查看次数

Ruby委托/代理

给出以下代码:

class ArrayProxy < BasicObject
  def initialize
    @array = []
  end

  def foo
    puts 'foo'
  end

  def method_missing(*args, &block)
    @array = @array.send(*args, &block)
  end

  def self.method_missing(*args, &block)
    new.send(*args, &block)
  end
end
Run Code Online (Sandbox Code Playgroud)

为什么将'foo'的调用委托给数组?

ruby-1.9.2-p290 :018 > ArrayProxy.new << 1
 => [1] 
ruby-1.9.2-p290 :019 > ArrayProxy << 1
 => [1] 
ruby-1.9.2-p290 :020 > ArrayProxy.new.foo
foo
 => nil 
ruby-1.9.2-p290 :021 > ArrayProxy.foo
NoMethodError: undefined method `foo' for []:Array
Run Code Online (Sandbox Code Playgroud)

ruby delegates design-patterns ruby-on-rails ruby-1.9.2

2
推荐指数
1
解决办法
2509
查看次数

解析具有花括号的URI,URI :: InvalidURIError:错误的URI(不是URI?)

使用ruby 1.9.2-p290.我遇到了一个试图解析如下URI的问题:

require 'uri'
my_uri = "http://www.anyserver.com/getdata?anyparameter={330C-B5A2}"
the_uri = URI.parse(my_uri)
Run Code Online (Sandbox Code Playgroud)

发出以下错误:

URI::InvalidURIError: bad URI(is not URI?)
Run Code Online (Sandbox Code Playgroud)

我需要一个不同的解决方案,而不是像每次这样编码花括号:

new_uri = URI.encode("http://www.anyserver.com/getdata?anyparameter={330C-B5A2}")
=> "http://www.anyserver.com/getdata?anyparameter=%7B330C-B5A2%7D"
Run Code Online (Sandbox Code Playgroud)

现在我可以照常解析new_uri,但每次需要时都必须这样做.没有每次都这样做,最简单的方法是什么?

我发布了自己的解决方案,因为我没有看到这一点,因为我解决了它.


# Accepts URIs when they contain curly braces
# This overrides the DEFAULT_PARSER with the UNRESERVED key, including '{' and '}'
module URI
  def self.parse(uri)
    URI::Parser.new(:UNRESERVED => URI::REGEXP::PATTERN::UNRESERVED + "\{\}").parse(uri)
  end
end
Run Code Online (Sandbox Code Playgroud)

现在我可以使用带有花括号的uri的URI.parse(uri),并且不会抛出任何错误.

ruby parsing uri curly-braces ruby-1.9.2

2
推荐指数
1
解决办法
2015
查看次数

如何使用ruby代码获取宽度和高度的浏览窗口大小

我想使用ruby代码以像素(px)检索浏览器的宽度和高度.我不知道该怎么做.

请帮忙

ruby-on-rails-3 ruby-1.9.2

2
推荐指数
1
解决办法
5650
查看次数