이되고 당신은 사용할 수 Conditional assignment
x = find_something() #=>nil
x ||= "default" #=>"default" : value of x will be replaced with "default", but only if x is nil or false
x ||= "other" #=>"default" : value of x is not replaced if it already is other than nil or false
운영자 012 358,는
x = x || "default"
일부 테스트
irb(main):001:0> x=nil
=> nil
irb(main):003:0* x||=1
=> 1
irb(main):006:0> x=false
=> false
irb(main):008:0> x||=1
=> 1
irb(main):011:0* x||=2
=> 1
irb(main):012:0> x
=> 1
그리고 당신은 일치려면 false하지 않으려면 닉 루이스
irb(main):024:0> x=nil
=> nil
irb(main):026:0* x = 1 if x.nil?
=> 1
을 언급 한 바와 같이 예, 당신은
if x.nil?
를 사용할 수있는 표현의 축약 형태이다
편집 :
plsql.my_table.insert {:id => 1, :val => ???????}
plsql.my_table.insert {:id => 1, :val => x || 'DEFAULT' }
x가에서 설정할 수있는 변수 이름입니다
은 다음과 같습니다 x가 존재하지 않거나 거짓 인 경우 발 'DEFAULT'가, DB에 삽입됩니다
만에 전무합니다 'DEFAULT', 다음 방법을 사용하십시오.
{:id => 1, :val => ('DEFAULT' if x.nil?) }
출처
2010-05-12 08:27:03
YOU
여기에 오라클이 아닌 사용자를 위해 : nvl()은 무엇을합니까? 음, 쉽게 검색 할 수 있으므로 더 중요한 질문은 무엇입니까? 할 일이 무엇입니까? –