我正在看这个Kotlin对象声明:
object A : B({
variableName1 = "text1"
variableName2 = "text2"
params {
param("Foo", "Bar")
}
})
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚B类构造函数的参数是什么.
我有目的地在这个例子中抽象出信息,但实际上是B类
jetbrains.buildServer.configs.kotlin.v10.BuildType
Run Code Online (Sandbox Code Playgroud)
我找不到该类型的文档.我发现了一些接近的东西,但它是一个接口的定义,因此没有构造函数.
总而言之,Kotlin的以下构造是什么?
{
variableName1 = "text1"
variableName2 = "text2"
params {
param("Foo", "Bar")
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Kotlin与TeamCity进行交互.
当您将项目转换为Kotlin(来自.xml)时,您将拥有一个名为Project.kt的文件,您可以在其中设置所有配置.
没有编辑我的看起来像这样:
object Project : Project(/* Some Function Literal with Receiver */)
Run Code Online (Sandbox Code Playgroud)
这看起来像循环继承?我省略了进口产品,但肯定不会产生那么大的差别吗?是否可以根据文件中出现的位置以不同方式解释名称?
我的想法是解释对象签名,如下所示:
我一直在仅使用Networkx库通过Python构建图形。我的程序nx.drawing.nx_pydot.to_pydot()
通过在点对象上调用write_png(“ output.png”)使用.vi 文件输出.dot文件,并使用点引擎通过Graphviz绘制该文件。
我的点文件可能如下所示:
strict digraph {
a;
b;
c;
a -> b;
a -> c;
}
Run Code Online (Sandbox Code Playgroud)
我要添加点文件如下:
strict digraph {
a;
b;
c;
a -> b;
a -> c;
{rank=same; a b};
}
Run Code Online (Sandbox Code Playgroud)
因为在前一种情况下b和c绘制在a下方,而在后一种情况下c绘制在a和b下方,它们处于同一水平。
我在文档中找不到如何进行此简单更改。我知道这与声明一个子图并设置其属性相同,但是我正在努力的部分是设置该子图的rank属性。
构建完我的图形后,以下代码将处理输出。
DG = myGraphBuildFunction(dictOfEdges)
p = nx.drawing.nx_pydot.to_pydot(DG)
p.write_png('example.png')
nx.drawing.nx_pydot.write_dot(DG, "Output.dot")
print("Graph Generated")
Run Code Online (Sandbox Code Playgroud)
如何从这里轻松设置某些节点的等级?我想避免使用pygraphviz库,但使用graphviz库很好。Pygraphviz 不会通过Windows轻松安装pip install
,我需要保持该程序“易于使用和维护”,因为我不是唯一可能使用它的人。
我想将显着接近的点分组在一起,以某种形式的平均值表示,例如可以是均值或中位数。
我更专注于如何进行分组。
如何系统地进行分组?
我了解这似乎是一个非常简单的问题,答案很明显。我的主要问题是尝试解决这个问题,最终遇到一些极端情况,例如答案会根据我在船体上的位置而变化。例如,如果我从红线开始并沿顺时针方向工作,则最终会得到结果(如果我未尝试抓住极端情况):
我为此进行了许多尝试,每当我重新考虑自己的想法时,我都会得到一个笨拙的新型角壳。我习惯于找到解决问题的最不直观的方法,因此我认为最好向社区询问。我现在遇到的问题的一个比较示例是,我被要求在排序数组中查找一个元素,而我最初正在执行线性搜索,但我有一种直觉,感觉那里还有更好的东西。
我无法找到我想要的研究成果。我发现了简化船体的算法,但它太大地改变了船体的形状,这不适合我的程序目标。
最后,我将在此处添加注释,说明我将OpenCV与C ++结合使用,以在我正在处理的项目上生成凸包。以防万一,这是一个值得保留的细节(以及为什么我添加OpenCV作为标签)。