Accessors trong ruby
Đối với một lập trình viên, getter và setter là các method rất quan trọng để truy cập và xử lý các thuộc tính của 1 class. Ở ruby, việc truy cập này được gọi chung là accessors. accessors gồm có readers và writers. Dưới đây là 1 cách dễ hiểu về chúng: class Fruit def set_kind k ...
Đối với một lập trình viên, getter và setter là các method rất quan trọng để truy cập và xử lý các thuộc tính của 1 class. Ở ruby, việc truy cập này được gọi chung là accessors. accessors gồm có readers và writers. Dưới đây là 1 cách dễ hiểu về chúng:
class Fruit def set_kind k @k = k #writers end def get_kind @k #readers end end fruit = Fruit.new #><Fruit:0x000000023fc490> fruit.set_kind :apple puts fruit.get_kind #>apple
Với ruby, ta có thể định nghĩa readers và writers một cách tiện lợi hơn để sử dụng như sau:
class Fruit def kind=(k) @k = k end def kind @k end end fruit = Fruit.new #<Fruit:0x000000008dc098> fruit.kind="banana" #>banana
Để giải quyết việc các biến instance cần nhiều hàm accessors , ruby cung cấp shortcut attr_accessor để thay thế việc ta phải khai báo hàm writers và readers . Cách sử dụng shortcut:
class Fruit attr_accessor :kind, :animal def wow "#{animal} eating #{kind}" end end f = Fruit.new f.animal = "Rabbit" f.kind = "carrot" f.wow #>Rabbit eating carrot
Hy vọng bài viết của mình có thể giúp các bạn mới học về ruby không bị bỡ ngỡ về ngôn ngữ này !