我想了解参数多态性之间的关键区别,例如Java/Scala/C++语言中泛型类/函数的多态性和Haskell类型系统中的"ad-hoc"多态性.我熟悉第一种语言,但我从未使用过Haskell.
更确切地说:
提前致谢.
我想使用一些有用的函数作为命令.为此我正在测试click库.我定义了我的三个原始函数,然后装饰为click.command:
import click
import os, sys
@click.command()
@click.argument('content', required=False)
@click.option('--to_stdout', default=True)
def add_name(content, to_stdout=False):
if not content:
content = ''.join(sys.stdin.readlines())
result = content + "\n\tadded name"
if to_stdout is True:
sys.stdout.writelines(result)
return result
@click.command()
@click.argument('content', required=False)
@click.option('--to_stdout', default=True)
def add_surname(content, to_stdout=False):
if not content:
content = ''.join(sys.stdin.readlines())
result = content + "\n\tadded surname"
if to_stdout is True:
sys.stdout.writelines(result)
return result
@click.command()
@click.argument('content', required=False)
@click.option('--to_stdout', default=False)
def add_name_and_surname(content, to_stdout=False):
result = add_surname(add_name(content))
if to_stdout is True:
sys.stdout.writelines(result) …Run Code Online (Sandbox Code Playgroud)