小编SáT*_*SáT的帖子

支持Opera中的webkitSpeechRecognition API

我们在Chrome中使用了webkitSpeechRecognition API.由于这是一个原型应用程序,我们非常乐意仅支持Chrome,因此我们通过window.hasOwnProperty('webkitSpeechRecognition')检查(如Google建议)检测对API的支持.这在Firefox中很快失败,但是新的Opera(基于webkit)报告它确实拥有该属性.事实上,所有代码都按预期运行,除了......没有任何事件被触发,也没有记录任何语音.

所以,我的问题是:我可以以某种方式使它工作吗?它需要一些特殊权限或设置吗?

或者,是否有一种方法(除了良好的旧浏览器嗅探)来检测webkitSpeechRecognition的正确,工作支持?

javascript opera webkitspeechrecognition

15
推荐指数
1
解决办法
1924
查看次数

当参数是目录时,ifstream open()不设置错误位

在C++程序中,使用std :: ifstream,我试图打开用户指定的文件 - 到目前为止一直很好.但是,我不小心输入了一个实际上是目录的文件名,我很惊讶地发现尝试打开()该目录没有产生任何错误.

这是一个最小的例子:

std::ifstream f;
f.open("..");
if(!f.is_open() || !f.good() || f.bad() || f.fail()) {
    std::cout << "error bit set on open" << std::endl;
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

这里没有错误的迹象.如果我继续尝试getline(),getline()会设置一个错误位.

std::string str;
getline(f, str);

if(f.eof()) std::cout << "getline set eofbit" << std::endl;
else if(f.bad()) std::cout << "getline set badbit" << std::endl;
else if(f.fail()) std::cout << "getline set failbit" << std::endl;
Run Code Online (Sandbox Code Playgroud)

这输出"getline set badbit",这是合理的.使用>>运算符会抛出一个下溢异常,这也没关系.

现在,我的问题是,我怎么能检测到用户输入了目录名而不是正确的文件名?有没有办法做到这一点?从流中获取和取消输入字节似乎很乏味且容易出错.

另外,为什么会这样呢?我意识到从程序的角度来看,它只是相同的数据,但我认为操作系统也会发送一些"嘿,这是一个目录"的消息.

c++ ifstream

9
推荐指数
1
解决办法
2504
查看次数

如何计算R中两个向量之间不同的众所周知的相似性或距离度量?

我想计算两个向量之间的相似性(距离):

v1 <- c(1, 0.5, 0, 0.1)
v2 <- c(0.7, 1, 0.2, 0.1)
Run Code Online (Sandbox Code Playgroud)

我只是想知道一个包是否可用于计算R中不同的众所周知的相似性(距离)度量?例如,"Resnik","Lin","Rel","Jiang",......

这些方法的实现并不难,但我认为它必须在R中的一些包中定义.

经过一些谷歌搜索后,我发现了一个包含"GOSemSim"的软件包,其中包含大多数测量,但它特定于生物医学应用程序,我不能用它们来计算两个向量之间的相似性.

r distance similarity measure

7
推荐指数
2
解决办法
7666
查看次数

如何实现Stackoverflow.com中使用的相关标签功能?

如何实现许多网站中使用的"相关标签"功能,例如我们的stackoverflow.com和http://tagexplorer.sandbox.yahoo.com/.

algorithm

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

从头开始创建a.out可执行文件

我已经从头开始创建了一种编程语言.我已经构建了一个编译器,它处理输入文件中的代码并将其转换为标记,并检查标记的顺序是否正确.我正处于编译器的最后一步:输出/可执行文件.我想创建一个可以在终端中运行的输出.我想创建一个a.out输出,但我能找到的唯一资源是来自nasm,这对我没有帮助.

所以我的问题是,如何创建一个可以在终端中运行的a.out文件(unix可执行文件)?

c unix compiler-construction executable machine-code

5
推荐指数
1
解决办法
433
查看次数

在我的课堂笔记中对字符串指针迭代感到困惑

这是我从我的讲义中复制的一大堆代码

/* 2D processing */
printf("\n");
for (i=0; i<3; i++)
    for (j=0; j<3; j++)
        printf("%d ", *(*(ar+i)+j) );
Run Code Online (Sandbox Code Playgroud)

由于ar指针是指地址位置,*(ar+i)实际上是指地址位置的内容ar+i,但我不明白它是如何工作的*(ar+i)+j,它就像内容+数字.

还有一件事是,

(1) char *ptr; ptr = "This is a string";
(2) char *ptr = "This is a string";
Run Code Online (Sandbox Code Playgroud)

为什么(1)不能char *ptr; *ptr="this a string"在声明和作业分开时?

非常感谢你提前.

c

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