Ruby 当字符串为空时,如何阻止Time.parse返回当前日期?
我有几个地方使用Ruby 当字符串为空时,如何阻止Time.parse返回当前日期?,ruby,Ruby,我有几个地方使用Time.parse(string).strftime(“%m%d%Y”)来获取不同字符串的日期 有时,这些字符串可以是空的'。当我用Time.parse分析空字符串时,它会给出当前日期 我需要一种方法来阻止这种情况发生,并返回'或什么都不返回。有办法解决我的问题吗 require 'Time' s = '' Time.parse(s).strftime("%m%d%Y") => "04232013" 我使用的是Ruby 1.8.7(2010-12-23 patchlev
Time.parse(string).strftime(“%m%d%Y”)
来获取不同字符串的日期
有时,这些字符串可以是空的'
。当我用Time.parse分析空字符串时,它会给出当前日期
我需要一种方法来阻止这种情况发生,并返回'
或什么都不返回。有办法解决我的问题吗
require 'Time'
s = ''
Time.parse(s).strftime("%m%d%Y")
=> "04232013"
我使用的是Ruby 1.8.7(2010-12-23 patchlevel 330)[i386-mingw32]只需单独处理即可
def format_date s
return if s.empty?
Time.parse(s).strftime("%m%d%Y")
end
分开处理就行了
def format_date s
return if s.empty?
Time.parse(s).strftime("%m%d%Y")
end
也许推荐的方法是
Time.parse(s).strftime("%m%d%Y") unless s.empty?
当不满足该条件时,其计算结果为nil
也许建议的方法是
Time.parse(s).strftime("%m%d%Y") unless s.empty?
当条件不满足时,计算结果为nil
是s.empty?
更多的“rubysh”?我想这取决于一个人的口味。使用你喜欢的东西。@squiguy是的-如果s.empty能满足OP的要求,那么使用empty?
返回rubystas:)+1。Iss.empty?
更多的“rubysh”?我想这取决于一个人的品味。使用你喜欢的东西。@squiguy是的-如果s.empty能满足OP的请求和RubyStats:)+1,那么使用empty?
return更符合ruby的习惯。根据问题,“nothing”是一个可接受的返回值,有条件的回答只能是+1。@iain我回答OP的问题时我需要一种方法来阻止这种情况发生,并返回“”或什么都不返回。
谢谢你的补充:)我知道,这就是你获得投票的原因。我只是一个“少即是多”类型的人(或者是一个学究!):没有必要使用三元组,“nothing”是一个可接受的返回值根据问题,有条件的回答可以,但是+1是一个好的答案。@iain我的回答是OP询问的我需要一种方法来阻止这种情况发生并返回“”或什么都没有。
谢谢你的补充:)我知道,这就是为什么你得到了选票。我只是一个“少即是多”的人(或者是一个学究!):D