我正在尝试翻译:http://thinkstats.com/survey.py这个脚本.
所以这就是我现在正在翻译的内容(Python):
"""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."""
Run Code Online (Sandbox Code Playgroud)
斯卡拉:
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])
Run Code Online (Sandbox Code Playgroud)
问题:我做class Respondent了class Pregnancy正确的吗?这些类的类型注释是否正确?逻辑是否正确?我刚刚读了类型参数化,所以我对此有点不确定,想看看我是否在正确的路径上.
感谢您的时间.
我记得,你展示的Python语法是用于类扩展(继承).等效的Scala会是
/** Represents a record.
*/
class Record
/** Represents a respondent.
*/
class Respondent extends Record
/** Represents a pregnancy.
*/
class Pregnancy extends Record
Run Code Online (Sandbox Code Playgroud)
表单的Scala注释/** ... */将显示为ScalaDoc中的文档.
这里不需要类型参数化.它的主要用途是允许类接受或返回任意参数化类型的值.例如,List[Int]and List[String]分别是整数和字符串的列表.
| 归档时间: |
|
| 查看次数: |
195 次 |
| 最近记录: |