说我有一个只是的枚举
public enum Blah {
A, B, C, D
}
Run Code Online (Sandbox Code Playgroud)
我想找到一个字符串的枚举值,例如"A",这将是Blah.A.怎么可能这样做?
Enum.valueOf()我需要的方法是什么?如果是这样,我将如何使用它?
我想从二进制文件中读取无符号字节.所以我写了下面的代码.
#include <iostream>
#include <fstream>
#include <vector>
#include <istream>
std::string filename("file");
size_t bytesAvailable = 128;
size_t toRead = 128;
std::basic_ifstream<unsigned char> inf(filename.c_str(), std::ios_base::in | std::ios_base::binary) ;
if (inF.good())
{
std::vector<unsigned char> mDataBuffer;
mDataBuffer.resize(bytesAvailable) ;
inF.read(&mDataBuffer[0], toRead) ;
size_t counted = inF.gcount() ;
}
Run Code Online (Sandbox Code Playgroud)
这导致读取始终为0字节,如计数变量所示.
网上似乎有一些引用说我需要设置语言环境才能使其正常工作.如何做到这一点对我来说并不清楚.
相同的代码使用数据类型'char'而不是'unsigned char'
上面使用unsigned char的代码似乎可以在Windows上运行,但无法在colinux Fedora 2.6.22.18中运行.
为了让它适用于linux,我需要做些什么?
如何解析我的Web服务在Perl中以JSON格式接收的日期格式?我想将它转换为DateTime对象:
Date(1216647000000-0400)
Run Code Online (Sandbox Code Playgroud)
我假设自纪元以来它是毫秒以及时区偏移,但日期是偏离的.
在第一次单击时,它按预期工作:
目前很好.
在第二次点击,...
在第三次点击,...
因此,当内容应该再次隐藏时,除了第二次单击之外,一切正常.
这是jQuery:
-
$('.open_user_urls').live('click', function() {
$('#user_urls').slideDown('slow');
$(this).addClass('close_user_urls');
$(this).removeClass('open_user_urls');
$(this).html('Close Search History');
return false;
});
$('.close_user_urls').live('click', function() {
$('#user_urls').slideUp('slow');
$(this).addClass('open_user_urls');
$(this).removeClass('close_user_urls');
$(this).html('Show Search History');
return false;
});
Run Code Online (Sandbox Code Playgroud)
这是它所采用的HTML:
<h3 class='open_user_urls'>Show Search History</h3>
<div id='user_urls'>
// an OL tag with content
</div>
Run Code Online (Sandbox Code Playgroud)
唯一适用的CSS:
#user_urls { display: none; }
Run Code Online (Sandbox Code Playgroud)
编辑 - 我用下面的答案中提供的功能等效代码替换了我的jquery代码,但问题仍然存在.所以原因必须在别处.我记得这个代码最初工作,但后来停止了.我很难过.是时候把一切都剥掉了......
编辑2 - 由于bug必须在别处,我接受我的jquery的代码改进作为答案.谢谢.
编辑3 - 找到问题的根源.
在#user_urls div中,我有一系列带有以下css的OL:
.url_list {float: left; width: 285px; list-style-position: outside; margin-left: 25px;} …Run Code Online (Sandbox Code Playgroud) 我正在为一段代码编写测试,其中包含一个IOException catch,我试图覆盖它.try/catch看起来像这样:
try {
oos = new ObjectOutputStream(new FileOutputStream(cacheFileName));
} catch (IOException e) {
LOGGER.error("Bad news!", e);
} finally {
Run Code Online (Sandbox Code Playgroud)
最简单的方法似乎是让FileOutputStream抛出一个FileNotFoundException,但也许我会以错误的方式解决这个问题.
有人在那里有任何提示吗?
在这段代码中,我希望禁止ReadFileSystem方法断言文件系统的权限.
我预计这将抛出fileIo.Assert(),但事实并非如此.为什么?
using System.Security.Permissions;
static void Main(string[] args)
{
var fileIo = new FileIOPermission(PermissionState.Unrestricted);
var secuPerm = new SecurityPermission(SecurityPermissionFlag.Assertion);
PermissionSet set = new PermissionSet(PermissionState.Unrestricted);
set.AddPermission(fileIo);
set.AddPermission(secuPerm);
set.Deny();
ReadFileSystem();
Console.Read();
}
private static void ReadFileSystem()
{
var fileIo = newFileIOPermission(PermissionState.Unrestricted);
fileIo.Assert();
DirectoryInfo dir = new DirectoryInfo("C:/");
dir.GetDirectories();
}
Run Code Online (Sandbox Code Playgroud)
更新
CAS上有很棒的链接:http://blogs.msdn.com/shawnfa/archive/2004/08/25/220458.aspx
我正在尝试在python中创建一个图形频谱分析器.
我目前正在读取1024字节的16位双通道44,100 Hz采样率音频流,并将两个通道的幅度平均在一起.所以现在我有256个签名短裤阵列.我现在想要使用像numpy这样的模块在该阵列上预先形成一个fft,然后使用结果创建图形频谱分析器,开始时只需32个小节.
我已经阅读了关于快速傅里叶变换和离散傅里叶变换的维基百科文章,但我仍然不清楚结果数组代表什么.这是我使用numpy在我的数组上执行fft后数组的样子:
[ -3.37260500e+05 +0.00000000e+00j 7.11787022e+05 +1.70667403e+04j
4.10040193e+05 +3.28653370e+05j 9.90933073e+04 +1.60555003e+05j
2.28787050e+05 +3.24141951e+05j 2.09781047e+04 +2.31063376e+05j
-2.15941453e+05 +1.63773851e+05j -7.07833051e+04 +1.52467334e+05j
-1.37440802e+05 +6.28107674e+04j -7.07536614e+03 +5.55634993e+03j
-4.31009964e+04 -1.74891657e+05j 1.39384348e+05 +1.95956947e+04j
1.73613033e+05 +1.16883207e+05j 1.15610357e+05 -2.62619884e+04j
-2.05469722e+05 +1.71343186e+05j -1.56779748e+04 +1.51258101e+05j
-2.08639913e+05 +6.07372799e+04j -2.90623668e+05 -2.79550838e+05j
-1.68112214e+05 +4.47877871e+04j -1.21289916e+03 +1.18397979e+05j
-1.55779104e+05 +5.06852464e+04j 1.95309737e+05 +1.93876325e+04j
-2.80400414e+05 +6.90079265e+04j 1.25892113e+04 -1.39293422e+05j
3.10709174e+04 -1.35248953e+05j 1.31003438e+05 +1.90799303e+05j...
Run Code Online (Sandbox Code Playgroud)
我想知道这些数字究竟代表什么,以及我如何将这些数字转换为32个柱中每一个的高度百分比.另外,我应该将2个频道平均在一起吗?
我正在构建基于W3C规范的WCF服务,该规范定义了一个接受"application/x-www-form-urlencoded"发布数据的RESTful Web服务端点.默认情况下,WCF不支持这种类型的消息编码,我发现了许多创建合同的不同示例,如下所示:
XElement Query_Post(Stream postData);
Run Code Online (Sandbox Code Playgroud)
然后在实现中postData使用该HttpUtility.ParseQueryString方法解码流.
有没有人知道在WCF中支持"application/x-www-form-urlencoded"的更强类型的方式?
我希望我的运营合同是:
XElement Query_Post(string query, string [] params);
Run Code Online (Sandbox Code Playgroud) 我一直在努力在Java 1.4.2中做一些相对简单的正则表达式匹配.我对Perl的做事方式更加满意.这是发生了什么:
我试图匹配/ ^ <foo> /来自"<foo> <bar>"
我尝试:
Pattern myPattern= Pattern.compile("^<foo>");
Matcher myMatcher= myPattern.matcher("<foo><bar>");
System.out.println(myMatcher.matches());
Run Code Online (Sandbox Code Playgroud)
我得到"假"
我习惯说:
print "<foo><bar>" =~ /^<foo>/;
Run Code Online (Sandbox Code Playgroud)
这确实是真的.
经过大量的搜索和实验,我发现了这个说:
"String方法通过在模式之前放置一个不可见的^并在它之后放置$来进一步优化其搜索条件."
当我尝试:
Pattern myPattern= Pattern.compile("^<foo>.*");
Matcher myMatcher= myPattern.matcher("<foo><bar>");
System.out.println(myMatcher.matches());
Run Code Online (Sandbox Code Playgroud)
然后它返回预期的true.我不想要这种模式.终止.*不应该是必要的.
然后我发现了Matcher.useAnchoringBounds(boolean)方法.我认为明确告诉它不使用锚定边界会起作用.它没.我试过发一个
myMatcher.reset();
Run Code Online (Sandbox Code Playgroud)
以防我在关闭属性后需要冲洗它.没运气.随后调用.matches()仍然返回false.
我忽略了什么?
编辑:嗯,这很简单,谢谢.
我想使用Queue对树进行广度优先搜索
var q = new Queue<T>();
q.Enqueue(Root);
foreach(T root in q)
{
foreach(T t in root.Children)
q.Enqueue(t);
}
Run Code Online (Sandbox Code Playgroud)
但是我得到了"在实例化枚举器之后修改了集合".例外.
我可以用C#类型吗?
编辑:一点点阅读让我觉得我可能做错了.
有没有办法使用foreach从队列中出队?
这工作但很难看(OMHO)
var q = new Queue<T>();
q.Enqueue(Root);
while(q.Count > 0)
{
T root = q.Dequeue();
foreach(T t in root.Children)
q.Enqueue(t);
}
Run Code Online (Sandbox Code Playgroud)