12/08/2018, 17:37

Self trong ruby (p2)

Self trong ruby (p1): https://viblo.asia/p/self-trong-rubyp1-ORNZqP7GK0n. Chào các bạn, trong phần trước mình đã giới thiệu về sender và receiver trong ruby, hôm nay chúng ta sẽ cùng tiếp tục tìm hiểu về self và cách giá trị của self thay đổi khi chương trình được thực thi nhé. Đầu tiên chúng ...

Self trong ruby (p1): https://viblo.asia/p/self-trong-rubyp1-ORNZqP7GK0n.

Chào các bạn, trong phần trước mình đã giới thiệu về sender và receiver trong ruby, hôm nay chúng ta sẽ cùng tiếp tục tìm hiểu về self và cách giá trị của self thay đổi khi chương trình được thực thi nhé.

  • Đầu tiên chúng ta sẽ khai báo 1 class Car với phương thức drive như thế này:
  • Chúng ta có thể khởi tạo ra 1 đối tượng của class Car và gửi 1 message đến đối tượng car mà chúng ta vừa tạo
  • Chúng ta sẽ có:
  • Khá là đơn giản đúng không, nhưng đó không phải cái mình muốn nói tới ở đây, hãy cùng tìm hiểu sâu hơn chút nữa nhé

1. self trước khi message được gửi đi

  • Hãy cùng xem giá trị của self trước khi chúng ta gửi message đến đối tượng car nhé. Thêm dòng này vào cái đã
  • Dòng trên sẽ in ra:
  • Vì chúng ta đang ở top level, mình cũng đã giải thích ở bài trước ruby sẽ tự sinh ra một đối tượng main làm sender ở top level nên trong trường hợp này self sẽ trỏ đến main, khá là dễ hiểu đúng không.

2. self khi message được gửi đi

  • Thử đoán xem khi message được gửi đi thì self có giá trị là gì nào
  • Nếu bạn đoán self chính là đối tượng car mà chúng ta đã tạo thì chúc mừng bạn đã đoán đúng rồi đó, kiến thức về ruby của bạn không tồi đâu             </div>
            
            <div class=
0