얘기 좀 해줘!
먼저 다음 구문을 사용하여 백사장 진지를 구축합니다.
class Monster
end
펑!수업이 하나 있다.그러나 그것은 비어 있어 각종 재미있는 데이터 블록이나 대상에 가득 차기를 바란다.프로그래밍의 대다수 일과 마찬가지로 대상은 명확한 정의가 필요하다.그래서 거기에 우리는 괴물이 하나 있다. 왜냐하면 당신은 지하 감옥의 주인이기 때문에 다음 절에 세계 최고의 배역 게임TM를 준비하고 있기 때문이다.만약 당신의 두려움이 없는 영웅이 스크럼에 참가하러 온 배낭여행객이 몇 명 없다면, 어떤 모험이 좋을까요?그래서 우리는 괴물과 관련된 정보를 얻을 수 있는 방법을 찾고 싶다.우선, 모든 괴물은 이름이 필요하기 때문에 우리는 계속 전진할 수 있고, 그 중 하나가 필요하다고 생각한다.
class Monster
attr_accessor :name
def initialize(name)
@name = name
end
end
베시, 생각하고 있을지도 몰라.머리가 어지러운 것은 어떻게 된 일입니까?작은 요정의 이름을 알기에는 너무 많다.걱정하지 마라, 용감한 독자, 이 모든 것은 목적이 있는 것이다.그는 약간의 물건을 설치했다.행 "attr accessor:name"은 클래스 실례의 이름으로 writer와reader를 설정할 수 있는 두 가지 도구입니다.이렇게 하면 주어진 실례
class Monster
의 '이름' 정보를 변경하고 호출할 수 있습니다.특정한 문법이 있는데, 너는 단지 쓰거나 읽을 수 있을 뿐이지만, 이 점에 대해 우리는 둘을 겸유하고 싶다.만약 당신의 유저가 임프를 사용한다면, 그들이 항상 사용하는 것처럼, 당신은 '임프 8' 에게 새로운, 더욱 매력적인 이름, 예를 들어 '스팍스' 를 지어야 하기 때문이다.액세서리 아래는 방법
initialize
이고, 현재 이름의 매개 변수만 받아들일 수 있습니다.이 방법에는 코드 한 줄만 있습니다. @name=name@name은 클래스 몬스터의 로컬 변수입니다.이 initialize 방법의 역할은 몬스터의 모든 실례에 이름을 지정할 수 있도록 하고, 각각의 실례에 대해 별도의 방법을 작성할 필요가 없다는 것이다.잘 됐다!현재, 클래스 아래에 새로운 몬스터 실례를 만들면, 'goblin=Monster' 를 실행합니다.새로운 (작은 요정), 당신은 당신의 첫 번째 작은 금괴를 얻었습니다!
=> #<Monster:0x00007fe2b09b0150 @name="goblin">
하지만 그건 임프의 이름일 뿐이야.너는 어떠한 통계 데이터도 없는 상황에서 조우전을 진행할 수 없다!그래서 우리는 더 많은 세부 사항으로 우리의 수업을 강화합시다.class Monster
attr_accessor :name, :weapon, :ability
def initialize(name, weapon, ability)
@name = name
@weapon = weapon
@ability = ability
end
end
이제 우리는 당신의 괴물을 채우기 위한 멋진 정보 전파가 생겼습니다.코드에서 이걸 실행하면...goblin = Monster.new("goblin", "shortbow", "nimble escape")
와, 얼마나 좋은 업그레이드야.하지만 친구야, 임프 솔로는 너에게 좋을 게 없어.너는 마땅히 몇 명의 친구와 함께 부쳐야 한다.임프는 몇 명의 다른 친구들과 함께 달리기를 할 수 있는데, 보통 벌레나 임프다!bugbear = Monster.new("bugbear", "morning star", "surprise attack")
hobgoblin = Monster.new("hobgoblin", "longsword", "leadership")
다음은 이 비열한 3인조의 실례 형식이다.goblin
=> #<Monster:0x00007ff42310fda0 @ability="nimble escape", @name="goblin", @weapon="shortbow">
bugbear
=> #<Monster:0x00007ff42310fd00 @ability="surprise attack", @name="bugbear", @weapon="morning star">
hobgoblin
=> #<Monster:0x00007ff42310fc60 @ability="leadership", @name="hobgoblin", @weapon="longsword">
지금 파티예요!당신은 당신의 음흉한 요정, 당신의 잔인한 곰 브루세, 그리고 엄격한 요정이 당신의 유저에게 대항하는 두려움이 없는 영웅을 데리고 있습니다.그런데 어떻게 그것들을 모두 모을까요?아주 간단합니다!class Monster
attr_accessor :name, :weapon, :ability
@@all = []
def initialize(name, weapon, ability)
@name = name
@weapon = weapon
@ability = ability
@@all << self
end
end
"@@@all는 우리가 말한 유형 변수다.그것은 시작할 때 빈 그룹과 같다.문법을 따르면, 몬스터의 모든 새로운 실례가 나타날 때 이 그룹에 밀어넣는 initialize 방법을 볼 수 있습니다.그런 다음 외부를 초기화하는 방법 중 하나를 사용합니다.def self.all
@@all
end
어둠의 숲에서 몬스터를 소환할 수 있습니다. 명령을 수행할 준비를 하세요!현재, 장래에 이 클래스를 만드는 어떤 방법에서도 이self 방법을 사용하여 모든 실례를 호출할 수 있습니다.이것은 코드에서 이러한 정보를 인용할 수 있어 대량의 팽창이 일어나지 않는 아주 좋은 방법이다.initialize 방법과class 변수는 구축류의 시작 단계에서 취할 수 있는 두 가지 절차로 당신의 많은 다리 업무를 더욱 간소화하고 보완할 수 있다.
Reference
이 문제에 관하여(얘기 좀 해줘!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/velocichaptor/class-it-up-4484텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)