'new'를 사용하지 않고 내 클래스의 인스턴스를 만들 수 있도록 내 스칼라 클래스의 companion 객체에 apply 메소드를 작성했습니다.스케이라는 컴패니언 객체에 메서드 적용
object StanfordTokenizer{
def apply() = new StanfordTokenizer()
}
class StanfordTokenizer() extends Tokenizer{
def tokenizeFile(docFile: java.io.File) = new PTBTokenizer(new FileReader(docFile), new CoreLabelTokenFactory(), "").tokenize.map(x => x.word().toLowerCase).toList
def tokenizeString(str: String) = new PTBTokenizer(new StringReader(str), new CoreLabelTokenFactory(), "").tokenize.map(x => x.word.toLowerCase()).toList
}
그러나 나는 '새로운', 예를 들어없이 StanfordTokenizer 클래스를 인스턴스화 할 때 StandfordTokenizer.tokenizeString(str)
. 내가 명시 적으로 작업을 수행 StandfordTokenizer.apply().tokenizeString(str)
같이 적용 방법을 포함하는 경우
나는,
value tokenizeString is not a member of object StanfordTokenizer
그러나 오류가 발생합니다.
나는 동반자 개체에 대한 근본적인 것이 빠져있는 것처럼 느낍니다. 누군가 나를 위해 이것을 비추 줄 수 있습니까? ^