小编Kun*_*nal的帖子

自参考结构的python(3.7)数据类

随着python数据类装饰器的最新介绍,编写模型类非常容易。

但是我不确定如何在自引用结构/模型类的上下文中使用-例如LinkedList的内部ListNode / Node模型类。

>>> from dataclasses import dataclass
>>> from typing import Type
>>>
>>> @dataclass
... class Node:
...     data: int
...     link: Node
...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 4, in Node
NameError: name 'Node' is not defined
>>>
>>>
>>> @dataclass
... class Node:
...     data: int
...     link: Type[Node] # have tried Type hinting 
...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module> …
Run Code Online (Sandbox Code Playgroud)

python-3.x python-3.7 python-dataclasses

5
推荐指数
0
解决办法
376
查看次数

Gradle插件任务排序

是)我有的?

  1. 带有Main类的Java源文件(MainApp)
  2. gradle构建脚本

    apply plugin:'application'mainClassName ="MainApp"sourceSets.main.java.srcDirs = ['.'']

所以,当我这样做时gradle run,它会执行main方法,一切都很完美.

C:\tmp\gradle-fun>gradle run
:compileJava
:processResources UP-TO-DATE
:classes
:run
Hello MainApp !!
BUILD SUCCESSFUL

我想做的事?

现在我想知道在run任务执行之前清理构建目录的干净任务(常见构建任务).

这背后有理由,我想确保每次gradle都应该编译java文件,并且应该刷新所有.class文件(它的一些要求)

我试过了什么?

添加了一个包装器任务,它按顺序执行干净任务和运行任务.

apply plugin: 'application'
mainClassName = "MainApp"
sourceSets.main.java.srcDirs = ['.'] 
task exec(dependsOn: ['clean', 'run'])
Run Code Online (Sandbox Code Playgroud)

因此,当我跑步时gradle exec,它可以正常工作.但是,当你有额外的任务只是为了执行订单时,我觉得它的补丁工作.

C:\tmp\gradle-fun>gradle run
:clean
:compileJava
:processResources UP-TO-DATE
:classes
:run
Hello MainApp !!
:exec
BUILD SUCCESSFUL

我想知道什么?

有没有办法避免编写包装器任务并做一些Gradle魔法来达到要求?

build-process gradle

4
推荐指数
2
解决办法
2373
查看次数