0

假设我们有:

class A ...
class B inherit A ...

f (a_a: A) ...

那么,你能写出类似下面的伪代码,而不使用临时变量吗?

-- `y` is an argument to B's constructor.
f (create B.make(y))
4

1 回答 1

2

您正在寻找一种创作表达方式。与创建指令不同,它省略了目标实体,但始终指定创建类型:

create {B}.make (y)

笔记。作为一个经验法则,如果一个类型可以与一个实体混淆,它会用大括号括起来。例如,在短语create B.make (y)中,终端B被解释为实体名称。将它括在大括号中会将其提升为一种类型。

于 2020-04-26T12:14:38.363 回答