Rails || = สำหรับสตริงว่าง

Oct 27 2020

รหัสต่อไปนี้จะไม่เปลี่ยนตัวแปร:

@my_var = ''
@my_var ||= 'This is a non-empty string'

มีวิธีใดที่ดี / สะอาดในการทำเช่นนี้เพื่อให้สตริงว่างถูกเขียนทับหรือไม่?

คำตอบ

6 PalashBera Oct 27 2020 at 12:15

คุณสามารถลองสิ่งนี้:

@my_var = ''
@my_var = @my_var.presence || 'This is a non-empty string'

ขอบคุณ :-)

1 OliverGaida Oct 27 2020 at 12:45

ในกรณีนี้ฉันจะตรวจสอบความยาวของสตริงนี้:

@my_var = ''
@my_var = 'This is a non-empty string' if @my_var.length == 0
=> "This is a non-empty string"