小编Jul*_*ano的帖子

Maven:如何从命令行传递参数运行.java文件

我有以下问题.我想从命令行运行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)

java arguments maven

82
推荐指数
3
解决办法
9万
查看次数

使用实现层次结构的多个接口的类来键入推断

作为一个例子,让我们使用类似计算器的东西,各种类型的元素,评估不同元素类型的函数,以及存储元素和运行函数的上下文.接口是这样的:

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,可用于IChildElementIGrandchildElement,并double在两种情况下返回:

public class ChildElement : IChildElement {
    public double …
Run Code Online (Sandbox Code Playgroud)

c# generics inheritance type-inference

24
推荐指数
1
解决办法
1330
查看次数

二进制数的最短正则表达式,偶数为0或奇数为1

写一个包含偶数个0或奇数个1的表达式

我把它归结为:

1*(01*01*)* + 0*10*(10*10*)*
Run Code Online (Sandbox Code Playgroud)

其中第一部分表示偶数个0,第二部分表示奇数个1

但是,应该有一个我没有看到的简化解决方案.有小费吗?

regex finite-automata regular-language

23
推荐指数
2
解决办法
2万
查看次数

在绘制时间序列时将x轴标签设置为日期

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轴上添加日期数据?

r

8
推荐指数
1
解决办法
2万
查看次数

为什么在C#中基于模式的编程

想知道为什么C#正朝着更多基于模式的编程而不是传统方式发展.

防爆.该foreach声明预计,循环源已经被称为魔术方法GetEnumerator,它返回它有几个魔术方法类似于对象MoveNextCurrent,但他们并没有强制任何特定的接口?C#可以强制要求使用的类foreach应该实现,IEnumerable或者IEnumerable<T>using语句执行,因为它期望在using语句中使用对象来实现IDisposable接口.

此外,我看到async/ await关键字也有类似的趋势....

当然必须有一个很好的理由,但是我理解编译器/ CLR需要"魔术方法"而不是依赖接口的原因似乎有点奇怪.

c# foreach iterator

8
推荐指数
1
解决办法
378
查看次数

在类型参数中具有层次结构的约束泛型

我在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)

但是当我想要使用它时,问题就出现了.这不会编译,因为它无法隐式转换MyProviderIProvider<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)

c# generics parameters types hierarchy

6
推荐指数
3
解决办法
1403
查看次数

如何绘制具有不同行数的向量的多个 CDF 图

我想在同一个图中绘制多个变量的 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)

r ggplot2 cdf ecdf

6
推荐指数
2
解决办法
8038
查看次数

添加参考文献标题的链接

我正在使用 rmarkdown (pandoc) 创建一个文档,其中在.bib文件中包含一些参考书目。我想要做的是将链接添加到参考文献的标题,以便每个参考文献都链接到表单的页面http://sample.com/citation-key.html,如下所示:

\n\n
\n

作者。(2017)。示例标题。日记,1(1),1\xe2\x80\x932。

\n
\n\n

我尝试.csl通过向标题添加前缀和后缀来修改文件,但无论我使用 markdown 还是 HTML 语法,我放入其中的所有内容都会被转义。不幸的是,我无法更改该.bib文件。该文件的相关部分.csl是这样的:

\n\n
<text variable="title"/>\n
Run Code Online (Sandbox Code Playgroud)\n\n

示例文件是:

\n\n\n

bibliography pandoc r-markdown csl

6
推荐指数
1
解决办法
885
查看次数

以科学记数法保持格式宽度

我正在编写一个自定义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字符宽度.我已经查找了scientificscipen参数,但它仍然超出了11个字符的限制.一个选项可能是检查是否生成科学记数法,如果是这样,减少digits参数,但看起来很俗气.

我怎么能强迫它给我一个固定长度的字符串,无论数字是否是科学记数法?

formatting r pretty-print

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

Maven:在JAR的META-INF中包含文件

我正在使用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文件中,但不管怎样.有没有办法做到这一点?

java jar meta-inf maven maven-jar-plugin

4
推荐指数
1
解决办法
7321
查看次数