小编Dan*_*age的帖子

Perl分析中的CORE:match(操作码)子例程是什么?

我之前在Perl中编写了一些实用程序,我现在正在重写它们以便提供一些新的/更好的功能.然而,事情似乎比原始实用程序要慢得多,因此我决定使用NYTProf分析器运行一个.伟大的探究家顺便说一句,仍然试图找出其所有有用的功能.

所以无论如何,事实证明我的程序的93%用于调用GeneModel::CORE:match (opcode)子程序,我知道这是什么.大多数Google点击其他人发布的NYTProf个人资料.我确实编写了GeneModel类/包,但我不知道这个子程序是什么,为什么它被调用了这么多次,或者为什么它需要这么长时间.有任何想法吗?

perl profiling subroutine

4
推荐指数
2
解决办法
340
查看次数

如何重新分类Perl对象

我有一些Perl包的工作,我们会打电话给他们Some::Parser,并Some::Data.一个Some::Parser对象有方法返回类型的对象Some::Data.我写了一个扩展Some::Data课程的课程,让我们称之为My::Data.类的对象My::Data实际上只是类的对象Some::Data,但使用其他方法可以更容易地使用它.

我的问题是我想继续使用Some::Parser该类来完成解析数据的艰苦工作.正如我之前所说,Some::Parser对象给了我Some::Data对象.一旦我掌握了一个Some::Data对象,有没有办法将其重新分类为My::Data对象?我该怎么做?

我完全愿意改变我的方法,假设有人可以提出一个更好的方法来做我想做的事情,但编写我自己的解析器并不是我有兴趣做的事情!

oop perl inheritance

4
推荐指数
3
解决办法
1261
查看次数

在R中绘制日期为X轴

我以电子方式维护我的期刊,并且我试图了解过去几个月我对期刊写作的一致性.我有以下数据文件,其中显示了我在前30天内记录的日记条目(Entry Count)和单词(Word Count)的数量.

Date    Entry Count Word Count
2010-08-25  22  4205
2010-08-26  21  4012
2010-08-27  20  3865
2010-08-28  20  4062
2010-08-29  19  3938
2010-08-30  18  3759
2010-08-31  17  3564
2010-09-01  17  3564
2010-09-02  16  3444
2010-09-03  17  3647
2010-09-04  17  3617
2010-09-05  16  3390
2010-09-06  15  3251
2010-09-07  15  3186
2010-09-08  15  3186
2010-09-09  16  3414
2010-09-10  15  3228
2010-09-11  14  3006
2010-09-12  13  2769
2010-09-13  13  2781
2010-09-14  12  2637
2010-09-15  13  2774
2010-09-16  13 …
Run Code Online (Sandbox Code Playgroud)

plot visualization r

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

在Perl中确定范围重叠的最快方法

我有两套范围.每个范围是一对整数(开始和结束),表示单个较大范围的某个子范围.两组范围的结构与此类似(当然......将被实际数字替换).

$a_ranges =
{
  a_1 =>
  {
    start => ...,
    end   => ...,
  },
  a_2 =>
  {
    start => ...,
    end   => ...,
  },
  a_3 =>
  {
    start => ...,
    end   => ...,
  },
  # and so on
};

$b_ranges =
{
  b_1 =>
  {
    start => ...,
    end   => ...,
  },
  b_2 =>
  {
    start => ...,
    end   => ...,
  },
  b_3 =>
  {
    start => ...,
    end   => ...,
  },
  # and so on
};
Run Code Online (Sandbox Code Playgroud)

我需要确定集合A的哪个范围与集合B的哪个范围重叠.给定两个范围,很容易确定它们是否重叠.我只是使用双循环来执行此操作 - 循环遍历外部循环中集合A中的所有元素,循环遍历内部循环中集合B的所有元素,并跟踪哪些元素重叠. …

algorithm perl range overlap

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

ostream/ofstream继承问题

我正在编写一个C++程序,我需要一些帮助来理解错误.

默认情况下,我的程序打印到终端(STDOUT).但是,如果用户提供文件名,程序将打印到该文件.如果我正在写终端,我将使用该std::cout对象,而如果我正在写一个文件,我将创建并使用一个std::ofstream对象.

但是,我不想不断检查我是否应该这样写入终端或文件.由于两个std::coutstd::ofstream对象都继承自std::ostream类,我想我会创建一种print_output接受std::ostream对象的函数.在调用此函数之前,我会检查是否应该打印到文件.如果是这样,我将创建std::ofstream对象并将其传递给print函数.如果没有,我将简单地传递std::cout给打印功能.然后打印功能不必担心打印到何处.

我认为这是一个好主意,但我无法获得编译代码.我在这里创建了一个过于简化的例子.这是代码......

#include <fstream>
#include <iostream>
#include <stdio.h>

void print_something(std::ostream outstream)
{
  outstream << "All of the output is going here\n";
}

int main(int argc, char **argv)
{
  if(argc > 1)
  {
    std::ofstream outfile(argv[1]);
    print_something(outfile);
  }
  else
  {
    print_something(std::cout);
  }
}
Run Code Online (Sandbox Code Playgroud)

...这是编译时错误.

dhrasmus:Desktop standage$ g++ -Wall -O3 -o test test.c 
/usr/include/c++/4.2.1/bits/ios_base.h: In copy constructor ‘std::basic_ios<char, std::char_traits<char> >::basic_ios(const std::basic_ios<char, std::char_traits<char> >&)’: …
Run Code Online (Sandbox Code Playgroud)

c++ copy reference ofstream ostream

4
推荐指数
2
解决办法
3189
查看次数

垂直/水平基线的等效"xlim"或"ylim"?

我正在使用ablineR中的函数在绘图上绘制垂直线.有没有办法可以限制线的范围?例如,如果Y轴从0变为4,我可以只绘制从0到2的部分吗?

graphics r

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

尽管输出文件已存在,Snakemake 仍想运行作业

我有一个工作流,首先从公共数据库下载文件,然后在后续步骤中处理这些文件以创建多个聚合数据表。

我正在没有互联网连接的机器上测试工作流程。我在另一台机器上运行了初步数据下载步骤并将它们复制到这台机器上,现在我正在尝试运行其余的工作流程。当我运行snakemake -np它时,它报告所有数据下载作业仍然需要完成,即使目标文件已经存在。我什至ancient()在后续处理规则中标记了这些文件,但这无济于事。

我怎样才能让 Snakemake 相信这些作业不需要重新运行?

python offline snakemake

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

在perl中正则表达式中的OR条件

我正在尝试编写一个脚本,它通过Perl中的正则表达式执行OR函数.我编写了一个代码,其中如果字符串包含'D'或'E'后跟'P',则应打印"D或E后跟P",否则"D或E后面跟不是P".假设我给$ s ='ABCDEABCDEPABCDEAB'它应该打印else条件,但我认为我的if语句不能正常工作.请帮忙.

my $s = 'ABCDEABCDEPABCDEAB';
if ($s =~ /D|E(?=P)/) {
    print "D or E is followed by P";
} 
else {
    print "D or E is not followed by P";
}
Run Code Online (Sandbox Code Playgroud)

regex perl if-statement

3
推荐指数
1
解决办法
2万
查看次数

纳米语法突出显示D的规则

我刚开始学习D语言,我很好奇是否有一个.nanorc带有D语法突出显示规则的文件.快速谷歌搜索没有任何结果.

d syntax-highlighting nano

3
推荐指数
1
解决办法
283
查看次数

链接文件句柄的YAML加载

PyYAML使得加载.yml文档变得微不足道.

config = yaml.load(open('myconfig.yml', 'r'))
Run Code Online (Sandbox Code Playgroud)

我有一个YAML文件名列表filelist,我正在尝试用一种简洁的Pythonic方式将它们加载在一起(将它们视为单个文档).这是我试过的.

fhlist = [open(filename, 'r') for filename in filelist]
cfginput = itertools.chain(*fhlist)
config = yaml.load(cfginput)
Run Code Online (Sandbox Code Playgroud)

但是,这会导致异常.

AttributeError: 'itertools.chain' object has no attribute 'read'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我正在努力完成的任务有一个简单的解决方案吗?

python yaml python-itertools

2
推荐指数
1
解决办法
527
查看次数