Variables

  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 1005 is not allowed to access /tmp owned by uid 0 in /var/www/sites/sugree/codenone.com/subdomains/www/html/includes/file.inc on line 190.
  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 1005 is not allowed to access /tmp owned by uid 0 in /var/www/sites/sugree/codenone.com/subdomains/www/html/includes/file.inc on line 190.

การตั้งชื่อตัวแปรในภาษา ruby คล้ายกับการตั้งชื่อตัวแปลในภาษาอื่นๆ เช่น

  • max_length
  • maxLength
  • numberPages
  • numberpages
  • a_very_log_variable_name
  • _flag
  • column77Row88
  • ___

สังเกตสองบรรทัดแรก “max_length” และ “maxLength” ในภาษา java ธรรมเนียมปฏิบัติในการตั้งตัวแปลของเค้าคือ “maxLength” แต่ธรรมเนียมปฏิบัติของ ruby เราจะใช้ “max_length” โดยให้เหตุผลว่าการใช้ “_” ทำให้เขียนผิดได้ยากกว่า

ในภาษา ruby “maxlength” ไม่เท่ากับ “maxLength” เพราะมันคำนึงถึงตัวใหญ่ตัวเล็กด้วย (case sensitive) ดังนั้นการเขียน max_length จึงผิดได้ง่ายกว่า แต่โดยส่วนตัวผมชอบ max_langth เพราะมันอ่านง่ายกว่าครับ

สำหรับตัวแปล “___” เป็นตัวแปลที่สามารถตั้งได้ แต่ไม่ควรทำอย่างยิ่งครับ

ที่สำคัญอีกอย่างคือ ruby ไม่ต้องประกาศ type ให้กับตัวแปล เราสามารถกำหนดค่าให้มันได้เลย

first_name = "Apirak"
last_name = "Panatook"
full_name = fitst_name + ' ' + last_name

เมื่อเรากำหนดค่าให้กับ first_name โปรแกรม ruby จะรู้ทันทีว่า first_name ตัวเป็น object String หากเราเปลี่ยนค่าที่เก็บในตัวแปล ชนิดของตัวแปลจะเปลียนตามทันที ทดสอบได้โดยใช้ method class เช่น

iam = "Number" => Number
iam.class => String
iam = 28
iam.class => Fixnum

ขอให้สนุกกับการเขียน ruby นะครับ

ย้าย Codenone

ประกาศย้าย Codenone ไปใช้ Forum ของ Blognone แทนครับ ตามไปตั้งกระทู้ต่อได้ที่ Codenone Forum (รายละเอียดอ่านจากกระทู้ ย้าย Codenone ไปรวมกับ Blognone)

กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น