我最近一直在玩D语言,我有一个关于模板的快速问题.
我将字符和字符串插入到代码中的现有字符串中,并提出了以下函数:
string insert(T)(string s1, T s2, uint position) {
return s1[0 .. position] ~ s2 ~ s1[position .. $];
}
Run Code Online (Sandbox Code Playgroud)
现在,我有几个问题.
我可以限制s2参数允许的类型(我只想要char,wchar,dchar等以及它们各自的数组值)吗?
是否有某种方法可以定义模板以自动知道如果位置arg为0则预先添加?像这样的东西(不编译,但给出一般的想法):
string insert(T)(string s1, T s2, uint position) {
static if (position == 0)
return "" ~ s2 ~ s1;
else
return s1[0 .. position] ~ s2 ~ s1[position .. $];
}
Run Code Online (Sandbox Code Playgroud)谢谢
我们在公司使用github的企业实例.该实例托管在https://github.company.com.
在Github插件中,如果我输入"github.company.com"和我的登录凭据,然后选择"测试",则插件会报告给定凭据的失败.
我知道凭据是正确的.我也尝试过' https://github.company.com '作为主机(虽然我已经读过这个插件假设https的地方),同样的失败.
我使用IntelliJ IDEA 12.0.4和捆绑的Github插件.IDEA正在Linux Mint 14工作站上运行(如果这有任何区别).
任何想法(没有双关语)?
谢谢
我知道您可以配置Idea以在单独的视图中显示测试覆盖率,但是有没有办法在主编辑器屏幕中显示覆盖范围.
例如,我在左侧看到行号,在[]中有一个绿色或红色的小数字,表示针对此行运行的单元测试次数.
可能类似于此处显示的编辑器部分(Eclipse) - http://www.copperykeenclaws.com/wp-content/uploads/2010/10/emma_eclipse2.png.
这可能吗?是否有插件来实现这一目标?
我正在使用IntelliJ覆盖工具和Idea 12.0.4(build 129.549)
谢谢
一位同事正试图建立一个新的Spring项目.该项目明确依赖于spring-security,而spring(安全)又依赖于wss4j.运行测试时,他遇到了缺少课程的问题.
我们已经将缺少的类跟踪到了ax-saaj,这是wss4j的"提供的"范围依赖.当我运行dependency:treemaven目标时,它不会被列为项目的依赖项.
我的"规定"的理解是这样的:它是由Maven的用于构建解决,但不包括在交付,也不由Maven的任何"跑"阶段提供(在classpath)(运行测试,也没有运行应用程序本身基于Maven) .
因此,如果"提供"依赖项隐含在您的项目中,Maven会完全忽略它,因为它实际上并没有构建依赖于"提供"工件的可交付项,而是由您来为运行时提供它.
我已经测试并dependency:tree列出了提供的依赖项,如果它们是项目的显式依赖项,但是如果它们低于依赖项树则不会.
我已经告诉他现在要将依赖项作为一个显式的(作用域'运行时')包含在内,但显然这会在完整的运行时环境中引起问题(它没有"提供"任何内容),但我们需要知道依赖关系明确包含它们.有谁知道如何获得项目的完整依赖列表?
谢谢
PS.我知道我也可以让他明确地依赖'axis-saaj'和'test'的范围,但这不是问题,列出依赖关系是!
PPS.我们正在使用Maven 3
购买力平价.我没有在这里包含任何pom文本,因为它会花太长时间.您可以通过创建项目显式依赖于(groupId)org.springframework.ws,(artifactId)spring-ws-security,(version)2.0.0.RELEASE来看到这一点.
当我在Java代码中定义常量值时,我通常会将它们声明为"private static final",但最近我一直在维护代码,其中常量被定义为"private final".
我现在正在优化,并想知道是否要"静态化"这些.
例如
public class X {
private final String SOME_CONST = "Whatever";
}
Run Code Online (Sandbox Code Playgroud)
以上代码是否与以下代码等效(在运行时),因此只保留了1个'SOME_CONST'副本?
public class X {
private static final String SOME_CONST = "Whatever";
}
Run Code Online (Sandbox Code Playgroud)
我原本以为这是相当基本的,但我无法在任何地方找到答案.
[编辑]有些人回答了被实习的String实例.对不起,我应该选择一个更好的例子,在我看的情况下,它不仅仅是字符串,而是很多不同的类型(一些标准,一些用户定义).
我对'私人决赛'与'私人静态决赛'宣言的影响更感兴趣.
我目前正在尝试通过Java应用程序查询和设置一些Windows注册表项.我们被授权使用JNI-Registry库(出于许可的原因).要设置的键和值不在我的控制之下(我正在修改由另一个,第三方,应用程序设置的值).
我可以获取并设置正常键和值的各种条目和值,我可以查询键的默认值OK.但是,我需要知道如何设置密钥的默认值.
//This works
final RegistryKey regKey = Registry.HKEY_LOCAL_MACHINE.openSubKey("SOFTWARE\\company\\app\\subkey", RegistryKey.ACCESS_ALL);
RegStringValue blah = (RegStringValue) regKey.getValue("blah");
if (blah == null) {
blah = new RegStringValue(regKey, "blah");
}
blah.setData("Some data");
regKey.setValue(blah);
//Not sure about this...
final RegistryKey regKey = Registry.HKEY_LOCAL_MACHINE.openSubKey("SOFTWARE\\company\\app\\subkey", RegistryKey.ACCESS_ALL);
String defaultValue = regKey.getDefaultValue(); //Gets the default value OK
//How do I reset it, though???
//need something like:
// regKey.setDefaultValue("Some new value");
//The following does not seem to work
RegDWordValue defVal = (RegDWordValue) regKey.getValue(""); //Also tried ...getValue("Default")
defVal.setData("Some new Value");
regKey.setValue(defVal); …Run Code Online (Sandbox Code Playgroud) 好吧,在关于'类变量作为常量'的问题中,我得到的事实是,在"官方"构造函数运行之后(即直到你有一个实例),常量才可用.但是,如果我需要伴侣单身人士在课堂上进行调用怎么办:
object thing {
val someConst = 42
def apply(x: Int) = new thing(x)
}
class thing(x: Int) {
import thing.someConst
val field = x * someConst
override def toString = "val: " + field
}
Run Code Online (Sandbox Code Playgroud)
如果我首先创建伴随对象,'new thing(x)'(在伴侣中)会导致错误.但是,如果我首先定义类,'x*someConst'(在类定义中)会导致错误.
我也尝试将类定义放在单例中.
object thing {
var someConst = 42
def apply(x: Int) = new thing(x)
class thing(x: Int) {
val field = x * someConst
override def toString = "val: " + field
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这样做会给我一个'thing.thing'类型的对象
val t = thing(2)
Run Code Online (Sandbox Code Playgroud)
结果是 …