សិក្សាលំអិតអំពីអញ្ញត្តិ (Variables) និងការផ្តល់តំលៃឲ្យ (Assignment) នៅក្នុងភាសា Ruby

ភាសា RUBY គឺជា Script Language ដែលអាចដំណើរការគ្រប់ប្រព័ន្ធ ប្រតិបត្តិការដូចជា Window, Mac និង UNIX ផង ដែរ ។ លក្ខណៈរបស់វា ស្រដៀងគ្នាទៅនឹង Perl, Python និង SmartTalk ផងដែរ។ ដោយឡែក ក្នុងអត្ថបទនេះ នឹងបង្ហាញ នូវការ ប្រើប្រាស់អញ្ញត្តិ (Variable) និងរបៀបនៃការផ្តល់តំលៃ (Assignment) ទៅឲ្យអញ្ញត្តិនីមួយៗ ។ អញ្ញត្តិ (Variable) គឺជាទីតាំង Memory ដែលរក្សាទុកនូវព័ត៌មាននានា សំរាប់យកទៅប្រើ ក្នុងកម្មវិធី (Program) ។អញ្ញត្តិនៅក្នុងភាសា RUBY ត្រូវបានចែកជា ៦ ប្រភេទ ។ ជាដំបូង សូមក្រឡេកមើល កូដខាងក្រោម៖

ruby_variable

១. Global Variable:

យោងតាមកូដខាងលើ $global_variable គឺជា Global Variable ដែលចាប់ផ្តើមដោយ $ (dollar sign)Global Variable អាចត្រូវបានគេប្រើ ដើម្បីអាចទាញយក ឆ្លងកាត់ Class ឬក្នុង Class ។ ដូច្នេះ គេអាចហៅប្រើ ទាំងក្នុង ClassOne និង ClassTwo ។ សាកល្បង បន្ថែមកូដ នៅខាងក្រោម ហើយ ចូលក្នុង bin directory ហើយ run commend prompt : C://RailsInstaller/Ruby2.2.0/bin>ruby ruby_variable.rb

customer1 = ClassOne.new("123", "Chhunmeng", "Phnom Penh")
customer1.print_local_var()
customer1.print_global_var()

customer2 = ClassTwo.new
customer2.print_global_var()

ជាលទ្ធផល នឹងបង្ហាញដូចខាងក្រោម៖

instance_var_id is 123
instance_var_name is Chhunmeng
instance_var_addr is Phnom Penh
global_variable in ClassOne is 10
global_variable in ClassTwo is 10

២. Class Variable:

នៅក្នុង ClassOne មាន @@class_variable ជា class variable ។ class variable ត្រូវបានគេប្រកាសមុនពេលយកទៅប្រើ ក្នុង Method ផ្សេងៗ ហើយ សំគាល់ដោយ @@ ។ វាជាកម្មសិទ្ធរបស់ Class ដែលប្រកាសវា ដោយអាចប្រើវា នៅពេល បង្កើត Object ។ ជាឧទាហរណ៍ customer1 = ClassOne.new មានន័យថា បង្កើត object មួយឈ្មោះ customer1 ដើម្បីអាច ប្រើ class variable និង Method របស់ ClassOne។

customer1 = ClassOne.new("123", "Chhunmeng", "Phnom Penh")
customer2 = ClassOne.new("456", "Somaly", "Kean Svay")
customer3 = ClassOne.new("789", "Srey Nich", "Kandal")

customer1.print_class_var()

ជាលទ្ធផល នឹងបង្ហាញដូចខាងក្រោម៖

class_variable is 3

៣. Instance Variables:

@instance_var_id, @instance_var_name និង@instance_var_addr គឺជា Instance Variable ដែលសំគាល់ដោយ @ ។ តំលៃរបស់ instance variable ប្រែប្រួលទៅតាម object នីមួយៗ នៅក្នុង Method ។

customer1 = ClassOne.new("123", "Chhunmeng", "Phnom Penh")
customer2 = ClassOne.new("456", "Somaly", "Kean Svay")
customer3 = ClassOne.new("789", "Srey Nich", "Kandal")

customer1.print_instance_var()

ជាលទ្ធផល នឹងបង្ហាញដូចខាងក្រោម៖

instance_var_id is 123
instance_var_name is Chhunmeng
instance_var_addr is Phnom Penh

៤. Constant Variables:

Constant ចាប់ផ្តើមដោយអក្សរធំទាំងអស់ ដែលអាចប្រកាសនៅក្នុង Class ឬក្នុង Module ឬខាងក្រៅ សំរាប់ទាញយកជាទូទៅ ។ ជាឧទាហរណ៍៖

customer1 = ClassOne.new("123", "Chhunmeng", "Phnom Penh")
customer1.print_constant_var()

ជាលទ្ធផល នឹងបង្ហាញដូចខាងក្រោម៖

CONSTANT_VARIABLE is 100

៥. Local Variable:

Local Variable គឺជាអញ្ញត្តិ (variable) ដែលបានប្រកាស ក្នុង Method ។ គេមិនអាចទាញយកមកប្រើក្រៅ Method នោះទេ។ ជាទូទៅ Local Variable ចាប់ផ្តើមដោយអក្សរតូច ឬ _ ។ នៅក្នុងកូដខាងលើ id, name និង addr ជា Local Variable ។

៦. Pseudo Variables:

Pseudo Variable ជា variable ពិសេសមួយដែលមិនអាចផ្តល់តំលៃឲ្យ មានន័យថា វាមានតំលៃស្រាប់ រួមមាន៖

  • self: object ដែលទទួលបាន របស់ Method ដែលកំពុងស្ថិតនៅ ។
  • true: ជាតំលៃតំណាងឲ្យ ពិត(true) ។
  • false: ជាតំលៃតំណាងឲ្យ មិនពិត(false) ៕
  • nil: តំលៃមិនបានបញ្ចាក់ទុកមុន ។
  • __FILE__: ឈ្មោះ source file ដែលកំពុងស្ថិតនៅ ។
  • __LINE__: លេខបន្ទាត់ដែលស្ថិតនៅក្នុង source file ។