我试图翻译:http://thinkstats.com/survey.py这个脚本。帮助,在将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
是否正确?这些类的类型注释是否正确?逻辑是否正确?我刚刚阅读了类型参数化,所以我在这方面有点不确定,并想看看我是否在正确的道路上。
谢谢你的时间。
这可能是正确的 - 我不确定。类型参数“T”用于什么? – Owen
@Owen我还没有。我只知道这是一个Object类型的参数。它可能是一个流,因此我只是将它注释为一个类型T.当我声明Respondent和Pregnancy类时,我得到一个错误,因为Record需要一个参数,所以我最终注释记录类型的答复和怀孕参数。 > ____ < – mythicalprogrammer
如果可以有不同种类的类,通常使用类型参数,例如,您可以使用一个'Record [Int]'作为保存'Int'的记录。我非常确定这对Record Record是有意义的,但我不确定“Respondent” - 不同种类的受访者有不同类型的记录吗? – Owen