我有以下问题.我想从命令行运行mvn一个Main.java文件.Main.java接受参数.我如何从命令行执行此操作?
我试着找一个例子,但我没有成功.有人可以帮我一个例子吗?
我看了这里,但不太明白我应该做什么.
另外,如何从Main.java文件夹以外的其他文件夹中执行该命令?
例如,Main.java位于my/java/program/Main.java.我应该放什么
mvn exec:java -Dexec.mainClass="what to put here?" -Dexec.args="arg0 arg1 arg2"
Run Code Online (Sandbox Code Playgroud) 作为一个例子,让我们使用类似计算器的东西,各种类型的元素,评估不同元素类型的函数,以及存储元素和运行函数的上下文.接口是这样的:
public interface IElement {
}
public interface IChildElement : IElement {
double Score { get; }
}
public interface IGrandchildElement : IChildElement {
int Rank { get; }
}
public interface IFunction<Tout, in Tin> where Tin : IElement {
Tout Evaluate(Tin x, Tin y);
}
public interface IContext<Tin> where Tin : IElement {
Tout Evaluate<Tout>(string x, string y, IFunction<Tout, Tin> eval);
}
Run Code Online (Sandbox Code Playgroud)
请注意,函数可能返回任意类型.一个虚拟实现如下,其中我有一个被调用的函数Foo,可用于IChildElement和IGrandchildElement,并double在两种情况下返回:
public class ChildElement : IChildElement {
public double …Run Code Online (Sandbox Code Playgroud) 写一个包含偶数个0或奇数个1的表达式
我把它归结为:
1*(01*01*)* + 0*10*(10*10*)*
Run Code Online (Sandbox Code Playgroud)
其中第一部分表示偶数个0,第二部分表示奇数个1
但是,应该有一个我没有看到的简化解决方案.有小费吗?
x=read.table(text=" Qtr1 Qtr2 Qtr3 Qtr4
2010 1.8 8.0 6.0 3.0
2011 2.0 11.0 7.0 3.5
2012 2.5 14.0 8.0 4.2
2013 3.0 15.2 9.5 5.0",
sep="",header=TRUE)
y<-ts(as.vector(as.matrix(x)),frequency=4,start=c(2010,1))
plot.ts(y)
time<-seq(as.Date("2010/1/1"),length.out=20,by="3 months")
axis(1, at = time)
Run Code Online (Sandbox Code Playgroud)
当我绘制图形时,我想在x轴上添加日期,为什么我axis(1, at = time)不能在x轴上添加日期数据?
想知道为什么C#正朝着更多基于模式的编程而不是传统方式发展.
防爆.该foreach声明预计,循环源已经被称为魔术方法GetEnumerator,它返回它有几个魔术方法类似于对象MoveNext和Current,但他们并没有强制任何特定的接口?C#可以强制要求使用的类foreach应该实现,IEnumerable或者IEnumerable<T>对using语句执行,因为它期望在using语句中使用对象来实现IDisposable接口.
此外,我看到async/ await关键字也有类似的趋势....
当然必须有一个很好的理由,但是我理解编译器/ CLR需要"魔术方法"而不是依赖接口的原因似乎有点奇怪.
我在C#中遇到泛型问题我希望你能帮助我.
public interface IElement { }
public interface IProvider<T> where T : IElement {
IEnumerable<T> Provide();
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,它非常简单.我希望提供程序返回特定元素的可枚举.接口的具体实现如下:
public class MyElement : IElement { }
public class MyProvider : IProvider<MyElement> {
public IEnumerable<MyElement> Provide() {
[...]
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我想要使用它时,问题就出现了.这不会编译,因为它无法隐式转换MyProvider为IProvider<IElement>:
IProvider<IElement> provider = new MyProvider();
Run Code Online (Sandbox Code Playgroud)
我必须做一个演员,IProvider<IElement>尽管MyProvider是一个IProvider<MyElement>并且MyElement是一个IElement.我可以通过制作MyProvider实现来避免强制转换IProvider<MyElement>,但为什么它不能解析类型参数中的层次结构?
编辑:根据托马斯的建议,我们可以使其协变T.但是,如果有其他方法,如下面有类型的参数T怎么办?
public interface IProvider<T> where T : IElement {
IEnumerable<T> Provide();
void Add(T …Run Code Online (Sandbox Code Playgroud) 我想在同一个图中绘制多个变量的 CDF 图。变量的长度不同。为了简化细节,我使用以下示例代码:
library("ggplot2")
a1 <- rnorm(1000, 0, 3)
a2 <- rnorm(1000, 1, 4)
a3 <- rnorm(800, 2, 3)
df <- data.frame(x = c(a1, a2, a3),ggg = gl(3, 1000))
ggplot(df, aes(x, colour = ggg)) + stat_ecdf()+ coord_cartesian(xlim = c(0, 3)) + scale_colour_hue(name="my legend", labels=c('AAA','BBB', 'CCC'))
Run Code Online (Sandbox Code Playgroud)
可以看到,a3的长度是800,与a1、a2不同。当我运行代码时,它显示:
> df <- data.frame(x = c(a1, a2, a3),ggg = gl(3, 1000))
Error in data.frame(x = c(a1, a2, a3), ggg = gl(3, 1000)) :
arguments imply differing number of rows: 2800, 3000
> ggplot(df, aes(x, …Run Code Online (Sandbox Code Playgroud) 我正在使用 rmarkdown (pandoc) 创建一个文档,其中在.bib文件中包含一些参考书目。我想要做的是将链接添加到参考文献的标题,以便每个参考文献都链接到表单的页面http://sample.com/citation-key.html,如下所示:
\n\n\n作者。(2017)。示例标题。日记,1(1),1\xe2\x80\x932。
\n
我尝试.csl通过向标题添加前缀和后缀来修改文件,但无论我使用 markdown 还是 HTML 语法,我放入其中的所有内容都会被转义。不幸的是,我无法更改该.bib文件。该文件的相关部分.csl是这样的:
<text variable="title"/>\nRun Code Online (Sandbox Code Playgroud)\n\n示例文件是:
\n\nliterature.Rmd:
<text variable="title"/>\nRun Code Online (Sandbox Code Playgroud)literature.bib
---\noutput: html_document\nbibliography: literature.bib\ncsl: literature.csl\n---\n\n@author2017word says this doesn\'t work.\n\n## References\nRun Code Online (Sandbox Code Playgroud)literature.csl:我正在使用此处的APA 样式(第 231 行)。
我正在编写一个自定义print.xx函数来显示大量数据.列宽为11个字符,所以我这样做:
> format(1234.567,width=11,digits=7)
[1] " 1234.567"
> format(1234.56789,width=11,digits=7)
[1] " 1234.568"
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.当我有一个非常大/小的数字并且科学记数出现时,问题出现了:
> format(1234.56789e10,width=11,digits=7)
[1] "1.234568e+13"
> format(1234.56789e-10,width=11,digits=7)
[1] "1.234568e-07"
Run Code Online (Sandbox Code Playgroud)
它应该使用科学记数法,好吧,但我需要它坚持11字符宽度.我已经查找了scientific和scipen参数,但它仍然超出了11个字符的限制.一个选项可能是检查是否生成科学记数法,如果是这样,减少digits参数,但看起来很俗气.
我怎么能强迫它给我一个固定长度的字符串,无论数字是否是科学记数法?
我正在使用Maven构建一个Java项目,我有几个文件,CHANGELOG并且LICENSE我想要复制到META-INFJAR文件中的目录.
到目前为止,我所做的工作如下:
<build>
<resources>
<resource>
<directory>${project.basedir}</directory>
<includes>
<include>CHANGELOG</include>
<include>LICENSE</include>
</includes>
<targetPath>META-INF</targetPath>
</resource>
</resources>
<plugins>
...
Run Code Online (Sandbox Code Playgroud)
但是classes/META-INF在编译时也会将这两个文件复制到目录中.
所以我希望文件包含在JAR文件中,但不管怎样.有没有办法做到这一点?
c# ×3
r ×3
generics ×2
java ×2
maven ×2
arguments ×1
bibliography ×1
cdf ×1
csl ×1
ecdf ×1
foreach ×1
formatting ×1
ggplot2 ×1
hierarchy ×1
inheritance ×1
iterator ×1
jar ×1
meta-inf ×1
pandoc ×1
parameters ×1
pretty-print ×1
r-markdown ×1
regex ×1
types ×1