program story

비어 있거나 값이없는 문자열 테스트

inputbox 2020. 9. 20. 09:47
반응형

비어 있거나 값이없는 문자열 [중복] 테스트


Ruby에서 조건부로 변수를 설정하려고합니다. 변수가 nil이거나 비어 있으면 설정해야합니다 (0 길이 문자열). 나는 다음을 생각 해냈다.

variable = id if variable.nil? || (!variable.nil? && variable.empty?)

작동하는 동안 나에게는 루비처럼 보이지 않습니다. 위를 더 간결하게 표현하는 방법입니까?


두 번째 절은 !variable.nil?검사 가 필요하지 않습니다. 평가가 해당 지점에 도달하면 variable.nil거짓이 보장됩니다 ( 단락으로 인해 ).

이것으로 충분합니다.

variable = id if variable.nil? || variable.empty?

Ruby on Rails로 작업하는 경우 다음과 Object.blank?같은 정확한 문제를 해결합니다.

객체가 거짓이거나 비어 있거나 공백 문자열이면 비어 있습니다. 예를 들어, "", " ", nil, [], 및 {}모든 빈입니다.


Rails .blank에 있다면? 찾고있는 방법이어야합니다.

a = nil
b = []
c = ""

a.blank? #=> true
b.blank? #=> true
c.blank? #=> true

d = "1"
e = ["1"]

d.blank? #=> false
e.blank? #=> false

따라서 대답은 다음과 같습니다.

variable = id if variable.blank?

variable = id if variable.to_s.empty?

참고 URL : https://stackoverflow.com/questions/15988960/testing-for-empty-or-nil-value-string

반응형