我喜欢Java有一个Map,你可以在其中定义地图中每个条目的类型<String, Integer>.
我正在寻找的是一种集合,其中集合中的每个元素都是一对值.对中的每个值都可以有自己的类型(如上面的String和Integer示例),它是在声明时定义的.
该集合将保持其给定的顺序,并且不会将其中一个值视为唯一键(如在地图中).
基本上我希望能够定义类型的ARRAY <String,Integer>或任何其他2种类型.
我意识到我可以创建一个只有2个变量的类,但这看起来过于冗长.
我也意识到我可以使用2D数组,但由于我需要使用不同的类型,我必须使它们成为OBJECT数组,然后我必须一直投射.
我只需要在集合中存储对,所以每个条目只需要两个值.如果没有上课路线,这样的事情会存在吗?谢谢!
我想从VM中的AS400到端口25上的邮件服务器进行非常的SMTP连接
as400上的本机telnet命令似乎不支持端口规范.
有关如何在我的邮件服务器上从as400 telnet到端口25的任何想法?
我可以从as400 ping邮件服务器
我可以从其他盒子telnet(非as400)
我想为JMenu使用资源包(或ResourceMap)分配一个助记符.因此,例如,没有资源文件的代码将是......
JMenu fileMenu = new JMenu();
fileMenu.setText("File"); // this would be read from a resource file
fileMenu.setMnemonic('F'); // but the docs say this is obsolete
fileMenu.setMnemonic(KeyEvent.VK_F);
Run Code Online (Sandbox Code Playgroud)
那么如何将KeyEvent.VK_F放入资源文件中?
对于JMenuItem我可以用行动来做,但这是JMenu.
我正在编写一个PowerShell脚本来操作一些Windows Installer XML(WiX).我正在使用.NET 3.5中的新XML API来实现这一点,因为我发现它比DOM更容易使用API.以下脚本片段断然拒绝工作:
[System.Reflection.Assembly]::LoadWithPartialName("System.Xml.Linq") | Out-Null
# Basic idea: Iterate through en.wxl's l10ns, get string for each l10n, search all wxs files for that value.
pushd "C:\temp\installer_l10n"
$wxlFileName = "${pwd}\en.wxl"
$wxl = [System.Xml.Linq.XDocument]::Load($wxlFileName)
$strings = $wxl.Descendants("String")
$strings
$strings | foreach {
$_
}
popd
Run Code Online (Sandbox Code Playgroud)
该脚本应在单独的行上输出每个<String>标记.一旦这个bug得到解决,我就会让它做一些更有趣的事情;-)
XML文档是标准的WiX本地化文件:
<?xml version="1.0" encoding="utf-8" ?>
<WixLocalization Culture="en-US" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="0">Advertising published resource</String>
<String Id="1">Allocating registry space</String>
...
</WixLocalization>
Run Code Online (Sandbox Code Playgroud)
$ strings不是$ null(我已经明确地测试了它),如果我写了host-wxl,我可以看到文件已被加载.将$字符串管理到Get-Member会返回一个错误,指出"没有为get-member指定任何对象",write-host $字符串不执行任何操作.我也尝试过$ wxl.Descendants("WixLocalization"),结果相同.像$ wxl.Root和$ wxl.Nodes这样的东西按预期工作.使用PowerShell ISE进行调试,我看到$ strings已设置为IEnumerator,而不是预期的IEnumerable <XElement>.使用单个MoveNext测试IEnumerator,然后使用Current测试"Current =",大概是$ null.
奇怪的是,相同的技术在以前的脚本中起作用.完全相同的代码,但具有不同的变量名和字符串文字.刚刚尝试调试该脚本(以验证行为),它似乎现在也显示相同的行为.
在SAS中,在数据步骤之外,用空白替换宏变量中的字符的最佳方法是什么?
这似乎TRANSLATE是一个很好的功能.但是,使用%SYSFUNC此功能时,参数不会被引号括起来.你怎么指出一个空白应该用作替代?
在我的bash脚本中,我需要将当前目录更改为用户的主目录.
如果我想更改为用户的foo home目录,我可以从命令行执行:
cd ~foo
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,但是当我从脚本中做同样的事情时它会告诉我:
./bar.sh: line 4: cd: ~foo: No such file or directory
Run Code Online (Sandbox Code Playgroud)
像这样的接缝会是如此微不足道的事情,但它不起作用.这有什么问题?我是否需要逃避"〜"或可能缺少引号或其他内容?
编辑
当我说用户时,我不是指当前运行脚本的用户,而是通常系统上的任何其他用户
编辑
这是脚本:
#!/bin/bash
user="foo"
cd ~$user
Run Code Online (Sandbox Code Playgroud)
如果用户名是硬编码的
cd ~foo
Run Code Online (Sandbox Code Playgroud)
它可以工作,但如果它在用户变量中,那么它不会.我在这里错过了什么?
使用SCons的每个项目似乎都在重新发明轮子.我很乐意采用某些目录布局和/或变体构建(调试/发布)和/或测试框架和/或最佳实践的解决方案.
即使是一些不太简单的例子也会有所帮助.
我需要验证表单上的输入.我期望输入是1到19位数之间的数字.输入也可以以零开头.但是,我想验证它们并非都是零.我有一个正则表达式,将确保输入是数字和1到19之间的数字.
^\d[1,19]$
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何包含一个检查,即整个字符串不是全零.我试过这个
^(![0]{1,19})(\d[1,19])$
Run Code Online (Sandbox Code Playgroud)
但它在0000000000000000001上失败,因为它允许可变数量的零.
如何检查整个字符串是不是零?
谢谢.
我试图在ASP.NET RegularExpressionValidator中这样做,所以我希望有一个表达式.我有其他选择,所以如果不能做到这一点我就不会运气.
我正在使用NSUserDefaults作为设置应用程序.这是一个原始副本,我没有为这个特定设置添加任何文件系统.我希望它是零,但恰恰相反..
如果我执行以下操作:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ( [defaults valueForKey:kIdentifierKey] == nil ) {
return YES;
}
else {
NSLog(@"we have a value. return NO. Value is: %@", [defaults objectForKey:kIdentifierKey]);
return NO;
}
Run Code Online (Sandbox Code Playgroud)
然而在NSLog中,没有任何东西可以显示出您期望的价值.else块确实被执行了.有什么理由说这不是零吗?
我想从SQL字符串中删除方括号,但仅限于其中没有空格的位置.
例如"SELECT [intId],[Description]"应返回"SELECT intId,[Description]".
我可以使用正则表达式获取方括号内部没有空格:
\[[^\s]*\]
Run Code Online (Sandbox Code Playgroud)
如何从原始字符串中删除这些匹配的方括号?
java ×2
regex ×2
bash ×1
c# ×1
cocoa-touch ×1
ibm-midrange ×1
linq-to-xml ×1
linux ×1
lookahead ×1
pcre ×1
powershell ×1
replace ×1
sas ×1
sas-macro ×1
scons ×1
shell ×1
string ×1
telnet ×1
validation ×1
xml ×1