标签: ruby

在Ruby中提高异常与抛出异常有什么区别?

Ruby有两种不同的异常机制:Throw/Catch和Raise/Rescue.

为什么我们有两个?

什么时候应该使用一个而不是另一个?

ruby exception

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

Ruby的隐藏功能

继续"隐藏的......的特征"模因,让我们分享Ruby编程语言鲜为人知但有用的功能.

尝试用核心Ruby限制这个讨论,没有任何Ruby on Rails的东西.

也可以看看:

(请注意,每个答案只有一个隐藏的功能.)

谢谢

ruby hidden-features

160
推荐指数
36
解决办法
4万
查看次数

Ruby:如何编写gem?

我想为Ruby编写一个包,并将其作为gem提供.
有哪些工具,步骤和陷阱?
是否有任何好的教程,截屏视频等,这有助于您学习如何做到这一点?

ruby rubygems

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

双重与单引号

我是Ruby的新手,我试图了解是否应该使用""vs 的特定时间''.

我大部分时间都在使用单引号,因为它更容易打字,但我不确定是否应该.

例如get 'user/new'vsget "user/new"

ruby string syntax

160
推荐指数
7
解决办法
6万
查看次数

如何在Ruby中创建文件

我正在尝试创建一个新文件,但事情似乎并没有像我期望的那样工作.这是我尝试过的:

File.new "out.txt"
File.open "out.txt"
File.new "out.txt","w"
File.open "out.txt","w"
Run Code Online (Sandbox Code Playgroud)

根据我在网上阅读的所有内容,所有这些都应该有效但是每一个都给我这个:

ERRNO::ENOENT: No such file or directory - out.txt
Run Code Online (Sandbox Code Playgroud)

这发生在IRB以及ruby文件中.我错过了什么?

ruby io file errno

160
推荐指数
7
解决办法
19万
查看次数

漂亮打印哈希的最佳方法

我有一个嵌套数组和哈希的大哈希.我想简单地将其打印出来,以便用户"可读".

我希望它有点像to_yaml - 这很可读 - 但仍然看起来很科技.

最终,它将成为需要读取这些数据块的最终用户,因此需要对其进行干净的格式化.

有什么建议?

ruby ruby-on-rails-3

160
推荐指数
6
解决办法
12万
查看次数

如何解决错误"缺少'secret_key_base`为'生产'环境"(Rails 4.1)

我从头开始创建了一个rails应用程序(rails 4.1),我遇到了一个我无法解决的奇怪问题.

每次我尝试在Heroku上部署我的应用程序时,都会收到错误500:

缺少secret_key_base"生产"环境,请设置此值config/secrets.yml

secret.yml文件包含以下配置:

secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Run Code Online (Sandbox Code Playgroud)

在Heroku上,我已经使用"rake secret"命令的结果配置了一个环境变量"SECRET_KEY_BASE".如果我启动"heroku config",我可以看到具有正确名称和值的变量.

为什么我仍然会收到此错误?

非常感谢

ruby ruby-on-rails heroku ruby-on-rails-4

160
推荐指数
4
解决办法
15万
查看次数

Ruby首字母大写每个单词

我需要将每个单词的第一个字符设为大写字母,然后将其余字母设为小写字母...

manufacturer.MFA_BRAND.first.upcase
Run Code Online (Sandbox Code Playgroud)

只设置第一个字母大写,但我需要这个:

ALFA ROMEO => Alfa Romeo
AUDI => Audi
BMW => Bmw
ONETWO THREE FOUR => Onetwo Three Four
Run Code Online (Sandbox Code Playgroud)

ruby string

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

在Ruby中更改散列中的每个值

我想更改散列中的每个值,以便在值之前和之后添加'%'

{ :a=>'a' , :b=>'b' }
Run Code Online (Sandbox Code Playgroud)

必须改为

{ :a=>'%a%' , :b=>'%b%' }
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?

ruby hash

158
推荐指数
10
解决办法
13万
查看次数

rhc setup给出错误`没有这样的文件dl/import`

我正在安装openhift客户端工具,如下所述:https://developers.openshift.com/en/getting-started-windows.html#client-tools.在"设置您的机器"一步,我收到错误:

rhc setup C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:在`require':无法加载这样的文件--dl/import(LoadError)

完整堆栈跟踪:

C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- dl/import (LoadError)
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/pageant.rb:1:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/agent/socket.rb:5:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/agent.rb:22:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/key_manager.rb:4:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:4:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh.rb:11:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in …
Run Code Online (Sandbox Code Playgroud)

ruby openshift

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