루비 객체 내부를 탐색하는 것은 아주 간단합니다. 다음 의사 코드 감안할 때, 예를 입력으로이 단락을 사용하여 다음 호출은 의미가 및 작동 :루비 객체 위로 이동
forth_word = Par.sentence[0].word[3]
puts forth_word.text #"ruby"
puts forth_word.type #:noun
의사 서로에 포함 된 클래스의 코드 : 중첩의 (일종의하지만 엄격한 OOP의 의미)
class Paragraph
@page_number = #1 (default)
@sentences = []
end
class Sentence
@is_a_quote = #false (default)
@words = []
end
class Word
@text =# "ruby"
@type =# :noun
def in_a_quote?
#... return [email protected]_a_quote
end
def on_page
#... return Paragraph.Sentence.page
end
end
나는 일명 문장이나 단락 객체에 속하는 내부의 말씀에서 정보에서 물어 ... 루비 객체 트리를 탐색하려고 할 때 까다로운 부분이됩니다. 내가 마지막으로이 방법을 코딩 할 수있는 방법을 어떤 제안은 :.
puts forth_word.in_a_quote #false
puts forth_word.on_page #1
이 유형의 데이터 구조는 요구 사항에 적합하지 않습니다. sql에 데이터를 저장하고 ORM을 사용하여 데이터를 구상합니다. –
"sudo"를 "pseudo"로 변경하십시오. 나를 미치게하고있어. 또한'Sentence'와'Word'가 중첩되도록하려면'class Sentence
@CarySwoveland : Omigod, 당신은 천재입니다. 나는 수퍼 유저 권한으로 무엇을해야하는지 알아 내려고 벽에 머리를 세우고 있었다.하지만 OP는 계층 구조 (is-a)가 아니라 포함 (has- a, 인스턴스 변수에서), 올바른 일입니다 :'Word'는 분명히'Sentence'의 타입이 아니며'Sentence'는'Paragraph'의 일종입니다. – Amadan