Ruby check if nil before calling method

后端 未结 11 2277
眼角桃花
眼角桃花 2020-12-25 09:52

I have a string in Ruby on which I\'m calling the strip method to remove the leading and trailing whitespace. e.g.

s = \"12345 \"
s.strip

H

11条回答
  •  执笔经年
    2020-12-25 10:19

    I'd opt for a solution where s can never be nil to start with.

    You can use the || operator to pass a default value if some_method returns a falsy value:

    s = some_method || '' # default to an empty string on falsy return value
    s.strip
    

    Or if s is already assigned you can use ||= which does the same thing:

    s ||= '' # set s to an empty string if s is falsy
    s.strip
    

    Providing default scenario's for the absence of a parameters or variables is a good way to keep your code clean, because you don't have to mix logic with variable checking.

提交回复
热议问题