12/08/2018, 18:22

Private Class Methods trong Ruby

Một tip nhỏ để tạo nhanh class method như private method.Bây giờ chúng ta sẽ định nghĩa nhanh private instance method trong ruby. class Dog def poop "Going outside, and will poop" end private def bark puts "woof woof" end end Như ta thấy ...

Một tip nhỏ để tạo nhanh class method như private method.Bây giờ chúng ta sẽ định nghĩa nhanh private instance method trong ruby.

class Dog
    def poop
     "Going outside, and will poop"
    end
    
    private
    def bark
     puts "woof woof"
    end
end

Như ta thấy ở trên, method poop là một public method và bark là private method. Nếu như chúng ta gọi public method nó sẽ như sau:

dog = Dog.new
dog.new
# => "Going outside, and will poop"

Nhưng chúng ta gọi private method nó sẽ như sau:

dog = Dog.new
dog.bark
# NoMethodError: private method `bark' called for #<Dog>

Ok. Bậy giờ chúng ta sẽ định nghĩa class method nó không phải instance method.Và cho nó là private.

class Dog
  private
  def self.things_can_be_done
    [:bark, :poop, :sleep, :eat]
  end
end

> Dog.things_can_be_done
  # => [:bark, :poop, :sleep, :eat]

Có vẻ hoạt động vẩn ổn             </div>
            
            <div class=

0