相关疑难解决方法(0)

在Ruby on Rails中对nil v.空v.空白的简要解释

我发现自己反复寻找的差异明确的定义nil?,blank?以及empty?在Ruby on Rails的.这是我最接近的:

  • blank?对象是false,空或空白字符串.例如""," ",nil,[],和{}都是空白.

  • nil? 对象是NilClass的实例.

  • empty?对象是特定于类的,并且定义因类而异.如果字符串没有字符,则该字符串为空;如果字符串不包含任何项目,则该字符串为空.

有什么遗漏,或者可以做出更严格的比较吗?

ruby ruby-on-rails

1098
推荐指数
15
解决办法
30万
查看次数

如何检查字符串是否包含Ruby中的子字符串?

我有一个字符串变量,内容如下:

varMessage =   
            "hi/thsid/sdfhsjdf/dfjsd/sdjfsdn\n"


            "/my/name/is/balaji.so\n"
            "call::myFunction(int const&)\n"
            "void::secondFunction(char const&)\n"
             .
             .
             .
            "this/is/last/line/liobrary.so"
Run Code Online (Sandbox Code Playgroud)

在上面的字符串我必须找到一个子字符串即

"hi/thsid/sdfhsjdf/dfjsd/sdjfsdn\n"


"/my/name/is/balaji.so\n"
"call::myFunction(int const&)\n"
Run Code Online (Sandbox Code Playgroud)

我该怎么找到它?我只需要确定子串是否存在.

ruby string

692
推荐指数
7
解决办法
70万
查看次数

在rails之外使用Rails 3的ActiveSupport核心扩展

我正在开发的宝石上使用ActiveSupport的核心扩展时遇到问题.

我有它与AS 2.3.8一起使用,但是一旦我想将它移植到3b4,扩展就停止了工作,我的测试结果填充了如下行:

undefined method `blank?' for "something":String
Run Code Online (Sandbox Code Playgroud)

我把它包括在gem "activesupport"后面require "active_support"

还有什么我需要打电话来包含这些扩展吗?

谢谢

rubygems ruby-on-rails activesupport

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

如何理解strptime与strftime

strptime和之间有什么区别strftime?我看到这strptimeDateTimestrftime中的一个方法,并且是类中的一个方法Time.

  1. 什么之间的区别TimeDateTime,除了它们有不同的核心方法?TimeRuby文档中对类的解释很有帮助,但DateTime只是说"datetime".还有一个Date类,它说它提供DateDateTime.帮助我理解这一点.
  2. 我看到了strptime,我想把它称为"剥离时间",但这没有意义.它有一个很好的助记设备吗?
  3. 什么strptimestrftime意思啊?
  4. 你怎么记得哪个做了什么?

ruby time

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

重构Ruby

我有三个数组,其中两个来自JSON.

我需要检查每个数组是否为nil且计数大于0.如果任何大于0,则显示"Hello World",否则显示"Boo".

<% if !@arrayOne.nil? && @arrayOne.count > 0 || !@user_json[:user_stuff].nil? && @user_json[:user_stuff].count > 0 || !@user_json[:more_user_stuff].nil? && @user_json[:more_user_stuff].count > 0 %>
<h1>Hello World</h1>
  <% else %>
<h1>Boo</h1>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我需要一些帮助重构此代码,并希望了解其他方法来解决这个问题.

ruby arrays refactoring ruby-on-rails

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

如何使用 DateTime.now.strftime("%Y-%m-%d") 将日期时间设置为 1 个月前?

我正在尝试使用设置的 Google Analytics 开始日期和结束日期来捕获过去 30 天内的唯一访问者。我已经做了end_date = DateTime.now.strftime("%Y-%m-%d"),如何设置start_date为 30 天前。

ruby datetime

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

Rails Time.now - 1.month not working

我正在尝试为我的Rails 2.3应用程序编写一个简单的脚本,但我遇到了一个问题.

当我开始rails console并键入Time.now - 1.month它时给出正确的输出:

>> Time.now - 1.month
=> Mon Dec 07 17:05:50 +0100 2015
Run Code Online (Sandbox Code Playgroud)

当我在文件(script/foo.rb)中使用相同的代码时,我得到错误

undefined method 'month' for 1:Fixnum (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

我也无法require从"lib"目录中获取文件.在Rails 2.3中,"lib"目录已经在里面了$LOAD_PATH.这个问题让我很头疼.希望有人可以帮助我.

以下是我的系统的详细信息:

$ which -a ruby
/usr/bin/ruby
/Users/rakesh/.rvm/rubies/ruby-1.8.7-p374/bin/ruby
Run Code Online (Sandbox Code Playgroud)

同样的脚本在我朋友的机器上工作正常,所以我猜我的电脑出了问题.

ruby ruby-on-rails

0
推荐指数
1
解决办法
343
查看次数