美文网首页
blank?的坑

blank?的坑

作者: SecondRocker | 来源:发表于2016-01-25 01:31 被阅读49次

blank?是rails扩充的一个方法,在工作中用的很多,一直以为对字符串判断的就是is_empty? && nil?,直到最近遇到问题才发祥想当然的错了。字符串的blank?并不是判断是空字符串! "\n".blank?返回的是true
查了下rails blank?的定义如下

activesupport/lib/active_support/core_ext/object/blank.rb

class String
   BLANK_RE = /\A[[:space:]]*\z/
# A string is blank if it's empty or contains whitespaces only:
#
# ''.blank? # => true
# ' '.blank? # => true
# "\t\n\r".blank? # => true
# ' blah '.blank? # => false
#
# Unicode whitespace is supported:
#
# "\u00a0".blank? # => true
#
# @return [true, false]
  def blank?
    BLANK_RE === self
  end
end

A string is blank if it's empty or contains whitespaces only,就是说blank?只有在字符串是空字符串或只包含空白字符(不可见字符,换行、制表、回车空格)。

刚开始觉得真是坑爹,细想才发现有道理,rails是web框架,浏览器输入判断我们一般需要把只含空白字符的输入作为非法输入,blank?方法可以很方便地作出判断。

ruby和rails定义的方法真的很多,我感觉工作中很多时候对方法的判断就是望文生义,这样肯定会出现类似的错误,看来需要抽些时间对不太有把握的地方查查api了

小贴士: true.blank? == false , false.blank? == true

相关文章

  • blank?的坑

    blank?是rails扩充的一个方法,在工作中用的很多,一直以为对字符串判断的就是is_empty? && n...

  • 翻译 从空到空 艾米莉 狄金森

    From Blank to Blank From Blank to Blank -- A Threadless W...

  • From Blank to Blank 空空

    From Blank to Blank 空空 by Emily Dickinson From Blank to B...

  • BLANK

    空白 一片空白 没有回礼的礼物 用陈旧的回忆去支付的客栈 人们却从来找不到自己的房间 几十年的徘徊 因为无力而看到...

  • blank……

    where I can go ? Maybe nowhere ! What I can get ? Maybe ...

  • Blank

    今天是周六,阴沉的天下着朦胧细雨,是个自杀的好日子,至少Blank先生是这么认为的,没有精挑细选,只是之前预定好的...

  • blank

    记得小时候,自己还是很能写,而且写的也还不错,作文经常会被当作老师的范文(过年回家,同学聚会提起了这个事情,才意识...

  • [ blank ]

    首发于个人公众号 凌晨时分 意外的风景似乎从来不给你定格、留念的准备时间。恰好是傍晚和煦的阳光,刚好照在单车道上:...

  • Blank

    今天我的大脑一片空白,什么想法都没有… 甚至于,曾经最熟悉的单词,突然间都怀疑起我记忆的拼写有没有出错… 最近,整...

  • #Blank

    Blank是空白页 我的心就是一张空白页 以前我也会厚着脸皮说自己是一个有趣的人 是一个乐观到摁灭痛苦的人 我现在...

网友评论

      本文标题:blank?的坑

      本文链接:https://www.haomeiwen.com/subject/ijorkttx.html