Tags:
Forums: 

สวัสดีครับ :)

อยากทราบว่าแถวนี้ มีท่านไหนได้ใช้ Object#try ที่เพิ่มมาใน Rails version ใหม่ๆ บ้างครับ? แล้วใช้กันบ่อยไหมครับ?

สำหรับผมที่ใช้คงมีอยู่อย่างเดียว คือถ้า object มันจะเป็น nil ได้ ผมก็คงใช้มัน เช่น


@user = User.first
@user.try(:username) or "Guest"

แต่จำได้ว่าตอนที่มันออกมาใหม่ๆ นี่ ใน Core Team เถียงกันมากมายในเรื่องของว่า มันควรจะมีหรือไม่ หรือว่ามันทำให้ code อ่านยากขึ้นหรือเปล่า ถ้าเทียบกันสองแบบ เลือกแบบไหนครับ ระหว่าง


@user = User.first
username = @user.try(:username)

หรือ


@user = User.first
username = @user.username if @user

Get latest news from Blognone
By: vernomcrp
Ubuntu
on 18 September 2009 - 10:07 #125523

ผมก็ไม่ค่อยได้้ใช้ rails หนะคับ แต่ว่าผม ว่าผมชอบแบบที่สองมากกว่า :p

By: zdk
WriteriPhoneBlackberryUbuntu
on 20 September 2009 - 23:13 #125813
zdk's picture

ไม่ได้ใช้นะ
ใช้แบบเดิมๆ rescue แบบ one-line กรณีที่ @user object เป็น nil

@user = User.first
username = @user.username rescue "Guest"

แต่ try() คงมาทำให้ดูสวยขึ้น มั้ย? ไม่แน่ใจ