루비는 깔끔하다.
OOP가 무엇인가요?
(거의) 루비의 모든 것은 일종의 이상한 개념인 객체입니다. 개체는 상태를 유지하고 다른 메서드에 반응하며 고유한 ID를 가질 수도 있습니다. Ruby의 모든 항목에서 .object_id를 호출하고 반복되지 않는 고유 번호를 얻을 수 있습니다.
arr = [1, 2, 3, 4]
#=> [1, 2, 3, 4]
arr.object_id
#=> 360
arr.class
#=> Array
위에서 .class 메소드도 볼 수 있습니다. 모든 루비 객체는 클래스에 속하지만 그게 무슨 뜻인가요?
클래스 및 인스턴스
제 강사는 이렇게 말했습니다. 클래스는 인스턴스를 관리하고 생성하는 역할을 하는 작은 공장과 같습니다. 우리는 무엇이든 클래스를 정의할 수 있고 고유한 메서드를 생성할 수 있습니다.to.chain.onto.it!
다음은 재미있는 예입니다.
class Dog
def greet
puts "Woof Woof!"
end
end
Bug = Dog.new
Bug.greet
#=> "Woof Woof!"
Bug.class
#=> Dog
이게 말이 되요? 우리는 Dog라는 객체의 완전히 새로운 클래스를 정의하고 이를 위한 특별한 메서드를 만들고 있었습니다! JavaScript의 .map() 처럼 생각해보세요. 배열에서만 .map() 메서드를 호출할 수 있고 다른 것은 호출할 수 없습니다. 이 예제가 그렇게 엄격하지는 않지만 여기서 아이디어는 개의 인스턴스를 만들고 일부 정보를 가져오거나 해당 개 개체와 상호 작용하는 메서드를 만드는 것입니다.
인스턴스는 어떻게 생겼습니까?
인스턴스를 생성하고 조금 더 많은 정보를 제공할 수도 있습니다. 인스턴스 변수를 사용하여 이를 수행할 수 있습니다.
class Dog
def name=(name)
# @name is an instance variable
@name = name
end
def name
@name
end
end
dog1 = Dog.create
dog1.name = "Bug"
dog1.name
#=> "Bug"
이제 우리가 Bug라는 인스턴스를 가져오면 다음과 같이 보일 것입니다!
# .first is a built in class method that will grab the first
# instance of a class
Dog.first
#=> <Dog:0x000055ed811b7b90 id: 1, name: "Bug">
Dog 인스턴스에도 고유 ID가 할당된 것을 볼 수 있습니다. 이는 이름이 있거나 없는 여러 인스턴스를 저장해야 할 때 유용합니다. 이러한 인스턴스는 일종의 배열 또는 JavaScript 객체와 비슷합니다. JavaScript 개체와 유사하게 데이터에 액세스할 수도 있습니다.
Dog.first.name
#=> "Bug"
테이크 아웃
이 구조가 어떻게 유용할 수 있는지 꽤 분명해져야 합니다. 인스턴스는 게임의 사용자일 수 있고 데이터베이스에 저장할 수 있으며 해당 데이터베이스에 해당 사용자 인벤토리가 되는 별도의 테이블이 있습니다. 우리는 모든 사람을 ID로 연결하고, 클라이언트로부터 요청을 받고, 응답을 다시 보내기 전에 데이터와 상호 작용하는 사용자 지정 메서드를 구축할 수 있습니다! 가능성은 매우 광범위하며 Ruby를 읽는 것은 다른 언어에 비해 매우 쉽습니다. 나는 루비로 나의 첫 번째 작은 게임을 디자인하는 것을 기다릴 수 없습니다!
Reference
이 문제에 관하여(루비는 깔끔하다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/tmontobbio/ruby-is-pretty-neato-4ai0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
arr = [1, 2, 3, 4]
#=> [1, 2, 3, 4]
arr.object_id
#=> 360
arr.class
#=> Array
제 강사는 이렇게 말했습니다. 클래스는 인스턴스를 관리하고 생성하는 역할을 하는 작은 공장과 같습니다. 우리는 무엇이든 클래스를 정의할 수 있고 고유한 메서드를 생성할 수 있습니다.to.chain.onto.it!
다음은 재미있는 예입니다.
class Dog
def greet
puts "Woof Woof!"
end
end
Bug = Dog.new
Bug.greet
#=> "Woof Woof!"
Bug.class
#=> Dog
이게 말이 되요? 우리는 Dog라는 객체의 완전히 새로운 클래스를 정의하고 이를 위한 특별한 메서드를 만들고 있었습니다! JavaScript의 .map() 처럼 생각해보세요. 배열에서만 .map() 메서드를 호출할 수 있고 다른 것은 호출할 수 없습니다. 이 예제가 그렇게 엄격하지는 않지만 여기서 아이디어는 개의 인스턴스를 만들고 일부 정보를 가져오거나 해당 개 개체와 상호 작용하는 메서드를 만드는 것입니다.
인스턴스는 어떻게 생겼습니까?
인스턴스를 생성하고 조금 더 많은 정보를 제공할 수도 있습니다. 인스턴스 변수를 사용하여 이를 수행할 수 있습니다.
class Dog
def name=(name)
# @name is an instance variable
@name = name
end
def name
@name
end
end
dog1 = Dog.create
dog1.name = "Bug"
dog1.name
#=> "Bug"
이제 우리가 Bug라는 인스턴스를 가져오면 다음과 같이 보일 것입니다!
# .first is a built in class method that will grab the first
# instance of a class
Dog.first
#=> <Dog:0x000055ed811b7b90 id: 1, name: "Bug">
Dog 인스턴스에도 고유 ID가 할당된 것을 볼 수 있습니다. 이는 이름이 있거나 없는 여러 인스턴스를 저장해야 할 때 유용합니다. 이러한 인스턴스는 일종의 배열 또는 JavaScript 객체와 비슷합니다. JavaScript 개체와 유사하게 데이터에 액세스할 수도 있습니다.
Dog.first.name
#=> "Bug"
테이크 아웃
이 구조가 어떻게 유용할 수 있는지 꽤 분명해져야 합니다. 인스턴스는 게임의 사용자일 수 있고 데이터베이스에 저장할 수 있으며 해당 데이터베이스에 해당 사용자 인벤토리가 되는 별도의 테이블이 있습니다. 우리는 모든 사람을 ID로 연결하고, 클라이언트로부터 요청을 받고, 응답을 다시 보내기 전에 데이터와 상호 작용하는 사용자 지정 메서드를 구축할 수 있습니다! 가능성은 매우 광범위하며 Ruby를 읽는 것은 다른 언어에 비해 매우 쉽습니다. 나는 루비로 나의 첫 번째 작은 게임을 디자인하는 것을 기다릴 수 없습니다!
Reference
이 문제에 관하여(루비는 깔끔하다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/tmontobbio/ruby-is-pretty-neato-4ai0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class Dog
def name=(name)
# @name is an instance variable
@name = name
end
def name
@name
end
end
dog1 = Dog.create
dog1.name = "Bug"
dog1.name
#=> "Bug"
# .first is a built in class method that will grab the first
# instance of a class
Dog.first
#=> <Dog:0x000055ed811b7b90 id: 1, name: "Bug">
Dog.first.name
#=> "Bug"
이 구조가 어떻게 유용할 수 있는지 꽤 분명해져야 합니다. 인스턴스는 게임의 사용자일 수 있고 데이터베이스에 저장할 수 있으며 해당 데이터베이스에 해당 사용자 인벤토리가 되는 별도의 테이블이 있습니다. 우리는 모든 사람을 ID로 연결하고, 클라이언트로부터 요청을 받고, 응답을 다시 보내기 전에 데이터와 상호 작용하는 사용자 지정 메서드를 구축할 수 있습니다! 가능성은 매우 광범위하며 Ruby를 읽는 것은 다른 언어에 비해 매우 쉽습니다. 나는 루비로 나의 첫 번째 작은 게임을 디자인하는 것을 기다릴 수 없습니다!
Reference
이 문제에 관하여(루비는 깔끔하다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tmontobbio/ruby-is-pretty-neato-4ai0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)