2011-09-08 7 views
1

으로 번역하는 중입니다. http://thinkstats.com/survey.py이 스크립트를 번역하려고합니다.Help, Python 스크립트를 Scala

그래서 여기 내가 지금 오른쪽 (파이썬)을 번역하고있는 무슨이다 :

"""This file contains code for use with "Think Stats", 
by Allen B. Downey, available from greenteapress.com 

Copyright 2010 Allen B. Downey 
License: GNU GPLv3 http://www.gnu.org/licenses/gpl.html 
""" 

import sys 
import gzip 
import os 

class Record(object): 
    """Represents a record.""" 

class Respondent(Record): 
    """Represents a respondent.""" 

class Pregnancy(Record): 
    """Represents a pregnancy.""" 

스칼라 :

import sys.process._ 
import java.util.zip.GZIPInputStream 
import java.io._ 

class Record[T](val obj: T) 

class Respondent[T](val record: Record[T]) 

class Pregnancy[T](val record: Record[T]) 

질문 : 나는 class Respondent 올바르게 class Pregnancy 했나요? 이 클래스에 대해 형식 주석이 올바 릅니까? 논리가 맞습니까? 필자는 타입 매개 변수화에 대해 읽었을 뿐이므로 여기에 약간의 iffy가되어 올바른 경로에 있는지보기를 원합니다.

감사합니다.

+0

정확할 수도 있습니다. 확실하지 않습니다. 타입 파라미터'T'는 무엇을 위해 사용 되었습니까? – Owen

+0

@ 오웬 나는 아직 몰라. Object 유형의 매개 변수를 사용하고 있다는 것을 알고 있습니다. 스트림 일 수 있으므로 형식 T로 주석을 달았습니다. 그리고 응답자 및 임신 클래스를 선언하면 Record에 매개 변수가 필요하므로 오류가 발생합니다. 응답자 및 임신 매개 변수에서 기록 유형에 주석을 달았습니다. > ____ < – mythicalprogrammer

+0

보통 그 클래스의 종류가 다를 수 있다면 type 매개 변수를 사용합니다. 예를 들어,'Record [Int] '가'Int'를 보유하는 레코드가 될 수 있습니다. 필자는 '기록'에 대해 의미가 있다고 확신하지만 '응답자'에 대해 확실하지 않습니다. 다양한 종류의 응답자가 서로 다른 종류의 기록을 보유하고 있습니까? – Owen

답변

5

내가 기억하는 것처럼 파이썬 구문은 클래스 확장자 (상속)입니다. 등가 스칼라 ScalaDoc에서 문서로 표시됩니다 형태 /** ... */

/** Represents a record. 
*/ 
class Record 

/** Represents a respondent. 
*/ 
class Respondent extends Record 

/** Represents a pregnancy. 
*/ 
class Pregnancy extends Record 

스칼라 설명 될 것이다.

여기서 매개 변수화 유형은 필요하지 않습니다. 클래스의 주요 용도는 클래스가 임의의 매개 변수화 된 유형의 값을 허용하거나 반환하도록 허용하는 것입니다. 예를 들어, List[Int]List[String]은 각각 정수 및 문자열 목록입니다.

+0

고마워요. 파이썬이 상속을 어떻게하는지에 대해 놀랍고/놀라웠습니다. – mythicalprogrammer

관련 문제