class Computer_create
public
def initialize(filename)
@@files = []
@filename = filename
end
public
def create(filename)
@@files << filename
puts "File: #{filename} has been created"
end
public
def list
return @@files
end
end
file_1 = Computer_create.new("FileTest")
file_1.create("FileTest")
Computer_create.list
메신저는 파일을 만들 수있는 간단한 종류의 데이터베이스를 만들고 배열에 저장하면서 해시에 저장하려고합니다. 그러나 내 코드를 시도 할 때마다 다음과 같이 표시됩니다.
" <top (required)>': undefined method
Computer_create : Class에 대한 computer_create.rb : 24 : in list (NoMethodError)"
내가하려는 것은 : FileTest
via 라는 파일 file_1
을 만든 다음 모든 파일을 나열 @@files
하지만 작동하지 않는 것 같습니다.
오류 메시지는 정확히 맞습니다. 클래스에는 list
메서드 가 없습니다 .
이미 생성 list
한 인스턴스 를 호출 합니다. Computer_create
예 :
file_1.list
즉, 정확히 어떻게 다른 인스턴스 메서드 를 호출했는지 file_1.create
.
당신은 또한 @@
... 특이한 방법으로 사용하고 있습니다 . 내가 말할 수있는 한 그 변수는 인스턴스 변수 라는 것을 의미 하며 @
.
관련이 없지만 public
각 공개 방법 앞에 두는 것은 시끄럽고 불필요합니다. 사실, 나는 private
개인 메서드 컬렉션 앞에.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다