我正在设置包含文件句柄的哈希引用.
我的输入文件的第四列包含一个标识符字段,我用它来命名文件句柄的目标:
col1 col2 col3 id-0008 col5
col1 col2 col3 id-0002 col5
col1 col2 col3 id-0001 col5
col1 col2 col3 id-0001 col5
col1 col2 col3 id-0007 col5
...
col1 col2 col3 id-0003 col5
Run Code Online (Sandbox Code Playgroud)
我使用GNU核心实用程序来获取标识符列表:
$ cut -f4 myFile | sort | uniq
id-0001
id-0002
...
Run Code Online (Sandbox Code Playgroud)
此列中可以有超过1024个唯一标识符,我需要为每个标识符打开一个文件句柄,并将该句柄放入哈希引用中.
my $fhsRef;
my $fileOfInterest = "/foo/bar/fileOfInterest.txt";
openFileHandles($fileOfInterest);
closeFileHandles();
sub openFileHandles {
my ($fn) = @_;
print STDERR "getting set names... (this may take a few moments)\n";
my $resultStr = `cut -f4 $fn | sort …Run Code Online (Sandbox Code Playgroud) 如何在id ="id"之后检查该元素是段落?
<div>
<p id="id">one</p>
<p>two</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西,但是工作.
if ($("#id").next() == $('p')){}
Run Code Online (Sandbox Code Playgroud) 我想先按行然后按列进行分层聚类。我想出了一个完整的解决方案:
#! /path/to/my/Rscript --vanilla
args <- commandArgs(TRUE)
mtxf.in <- args[1]
clusterMethod <- args[2]
mtxf.out <- args[3]
mtx <- read.table(mtxf.in, as.is=T, header=T, stringsAsFactors=T)
mtx.hc <- hclust(dist(mtx), method=clusterMethod)
mtx.clustered <- as.data.frame(mtx[mtx.hc$order,])
mtx.c.colnames <- colnames(mtx.clustered)
rownames(mtx.clustered) <- mtx.clustered$topLeftColumnHeaderName
mtx.clustered$topLeftColumnHeaderName <- NULL
mtx.c.t <- as.data.frame(t(mtx.clustered), row.names=names(mtx))
mtx.c.t.hc <- hclust(dist(mtx.c.t), method=clusterMethod)
mtx.c.t.c <- as.data.frame(mtx.c.t[mtx.c.t.hc$order,])
mtx.c.t.c.t <- as.data.frame(t(mtx.c.t.c))
mtx.c.t.c.t.colnames <- as.vector(names(mtx.c.t.c.t))
names(mtx.c.t.c.t) <- mtx.c.colnames[as.numeric(mtx.c.t.c.t.colnames) + 1]
write.table(mtx.c.t.c.t, file=mtxf.out, sep='\t', quote=F, row.names=T)
Run Code Online (Sandbox Code Playgroud)
变量mtxf.in和 分别mtxf.out表示输入矩阵和聚类输出矩阵文件。变量clusterMethod是的一个hclust方法,如single,average等
作为示例输入,这是一个数据矩阵: …
我正在阅读一本教科书,我不知道为什么这段代码在编译器上的编译方式不同于本书中的内容.
def fibs(number):
result = [0, 1]
for i in range(number-2):
result.append(result[-2] + result[-1])
return result
Run Code Online (Sandbox Code Playgroud)
所以这个:
fibs(10)应该给我[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]但是由于某种原因,我得到[0, 1, 1]了我传递给函数的每个数字.
有任何想法吗?
我试图在我的 reST 简单表中放置一个项目符号列表,但项目符号列表的每一行都有自己的行:
====================== ======================= =======================
|foo.png| |bar.png| |baz.png|
====================== ======================= =======================
* foo1 - Lorem ipsum * bar * baz
dolor sit amet,
consectetur
* foo2 - adipisicing
elit
====================== ======================= =======================
.. |foo.png| image:: assets/img/foo.png
.. |bar.png| image:: assets/img/bar.png
.. |baz.png| image:: assets/img/baz.png
Run Code Online (Sandbox Code Playgroud)
其结果是,每行的* foo1 - Lorem ipsum,dolor sit amet,,consectetur,* foo2 - adipisicing和elit被放置到单独的表行。
期望的结果是第一列中的项目符号列表包含在一个表行项目中。有没有一种简单的方法可以获得我想要的结果?
如果做不到这一点,有没有办法将我的设计的 HTML 表格嵌入到 reST 文档中?
我尝试过的另一件事是替换:
====================== ======================= =======================
|foo.png| |bar.png| |baz.png|
====================== ======================= …Run Code Online (Sandbox Code Playgroud) 我正在将编译器从GCC切换到Clang/LLVM,并遇到以前没有遇到过的编译错误.
我有一个看起来像这样的类:
#include <iostream>
class foo {
public:
bar(std::istream& is) : _fp(is), _sCheck(is != std::cin) { /* ... */ }
private:
std::istream& _fp;
bool _sCheck;
}
Run Code Online (Sandbox Code Playgroud)
当我编译此文件时,我得到以下错误clang++,其中私有变量的初始化_sCheck失败:
error: invalid operands to binary expression ('std::istream' (aka
'basic_istream<char>') and 'istream' (aka 'basic_istream<char>'))
(is != std::cin)
~~ ^ ~~~~~~~~
Run Code Online (Sandbox Code Playgroud)
如果此地址比较中的两个对象具有相同的类型,为什么clang++返回错误,而g++不是?
我试过dynamic_cast让它们两个都做std::istream&,但这也是一个错误:
error: invalid operands to binary expression ('std::istream' (aka
'basic_istream<char>') and 'std::istream')
(is != dynamic_cast<std::istream&>(std::cin))
~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)
如果这是一个愚蠢的问题,我会提前道歉; 我很欣赏任何指针.
我有一个父安装程序包,比如说,Parent.unsigned.mpkg我想用OS X签名productsign.
该文件Parent.unsigned.mpkg包含名为的子包A.pkg,B.pkg并且C.pkg反过来安装Clang编译的命令行二进制文件和bash包装脚本:
./Parent.unsigned.mpkg/Contents/Packages/A.pkg
./Parent.unsigned.mpkg/Contents/Packages/B.pkg
./Parent.unsigned.mpkg/Contents/Packages/C.pkg
Run Code Online (Sandbox Code Playgroud)
我注册了一个Mac Developer帐户,该帐户设置(以及其他证书)具有ID的开发者ID安装程序证书ABCD1234(此ID实际上与我的Apple ID不同并且是特定的.)我使用该security工具获取此ID值:
$ security find-certificate -a -c "Developer ID Installer" | grep "alis"
"alis"<blob>="Developer ID Installer: Foo B. Baz (ABCD1234)"
Run Code Online (Sandbox Code Playgroud)
我使用此ID值为这些子包中的每个包签名,这似乎没有发生任何事故:
$ productsign --timestamp --sign ABCD1234 ./Parent.unsigned.mpkg/Contents/Packages/A.pkg ./Parent.unsigned.mpkg/Contents/Packages/A.signed.pkg
...
$ productsign --timestamp --sign ABCD1234 ./Parent.unsigned.mpkg/Contents/Packages/B.pkg ./Parent.unsigned.mpkg/Contents/Packages/B.signed.pkg
...
$ productsign --timestamp --sign ABCD1234 ./Parent.unsigned.mpkg/Contents/Packages/C.pkg ./Parent.unsigned.mpkg/Contents/Packages/C.signed.pkg
...
Run Code Online (Sandbox Code Playgroud)
然后我将这些签名的子包移回原始文件名:
$ mv ./Parent.unsigned.mpkg/Contents/Packages/A.signed.pkg ./Parent.unsigned.mpkg/Contents/Packages/A.pkg
$ mv ./Parent.unsigned.mpkg/Contents/Packages/B.signed.pkg ./Parent.unsigned.mpkg/Contents/Packages/B.pkg
$ …Run Code Online (Sandbox Code Playgroud) 我想在C++中生成一个合理任意长度的随机数.通过"合理的仲裁",我的意思是受到主机的速度和内存的限制.
我们假设:
我想样品长度的十进制数(底为10)ceil(log10(MY_CUSTOM_RAND_MAX))从0至10^(ceil(log10(MY_CUSTOM_RAND_MAX))+1)-1
我有一个 vector<char>
长度vector<char>是ceil(log10(MY_CUSTOM_RAND_MAX))
每个char都是一个整数,一个0到9之间的随机数,用rand()或类似的方法挑选
如果我使用std::random_shuffleshuffle向量,我可以从末尾迭代每个元素,乘以10的递增幂将其转换为unsigned long long或映射到我的最终范围的任何内容.
我不知道它是否有任何std::random_shuffle随机性存在问题,特别是在选择一系列rand()结果来填充时vector<char>.
std::random_shuffle在可量化的意义上,以这种方式生成任意长度的随机数是多么粗略?
(我意识到Boost中有一个用于制作随机int数的库.目前尚不清楚范围限制是什么,但它看起来像MAX_INT.那就是说,我意识到所说的库存在.这更像是关于这一部分的一般性问题. STL在生成任意大的随机数.请提前感谢您将答案集中在这一部分上.)