小编Chr*_*oms的帖子

无法解析调用者sqlite3_bind:在Perl 6脚本中无法理解此错误

脚本的目的:我希望能够使用它将费用插入到SQLite数据库中,然后再制作自定义报告以提取信息,这样我就可以更好地预算我的费用.

我根本不明白这个错误代码.

perl6 budgetpro.p6

苹果

一天一苹果,医生远离我

嗨,我很精干,很高兴见到你,Eggman

Cannot resolve caller sqlite3_bind(DBDish::SQLite::Native::STMT, Int,
Date); none of these signatures match:
    (DBDish::SQLite::Native::STMT $stmt, Int $n, Blob:D $b)
    (DBDish::SQLite::Native::STMT $stmt, Int $n, Real:D $d)
    (DBDish::SQLite::Native::STMT $stmt, Int $n, Int:D $i)
    (DBDish::SQLite::Native::STMT $stmt, Int $n, Any:U)
    (DBDish::SQLite::Native::STMT $stmt, Int $n, Str:D $d)   
    in method execute at /home/jon/opt/rakudo-star/share/perl6/site/sources/2D749062AA6D5641452CDA214FC7C566E7E3E2A1
(DBDish::SQLite::StatementHandle) line 38
    in method insert at budgetpro.p6 line 54   in block <unit> at budgetpro.p6 line 86`
Run Code Online (Sandbox Code Playgroud)
  2
  3 use v6;
  4 use DBIish;
  5
  6 constant DB …
Run Code Online (Sandbox Code Playgroud)

sqlite perl6

5
推荐指数
2
解决办法
134
查看次数

什么是callwith和samewith应该做什么?

有什么callwithsamewith应该做什么?我认为callwith应该运行与当前子例程相同名称的子例程,但使用我传递给它的参数.

来自文档:

callwith 使用用户提供的参数调用下一个匹配候选项并返回该候选项的返回值.

对我来说,这听起来像是在两个arity MAIN子程序(即MAIN($a,$b))中callwith($x)调用MAIN($x).

但它没有:

multi MAIN ($a, $b) {
    my $result = callwith("$a$b");
    say "Got $result from MAIN(\$a)";
}

multi MAIN ($x)    {
    say "Hello $x";
    return True;
}
Run Code Online (Sandbox Code Playgroud)
$ perl6 callwith.p6 foo bar
Use of uninitialized value $result of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
  in sub MAIN at …
Run Code Online (Sandbox Code Playgroud)

perl6

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

.NET:如何在EventLog Entry中设置用户信息?

System.Diagnostics.EventLog类提供了与Windows事件日志交互的方法.我一直用它来进行简单的记录......

System.Diagnostics.EventLog.WriteEntry("MyEventSource", "My Special Message")
Run Code Online (Sandbox Code Playgroud)

有没有办法使用.NET在生成的事件日志条目中设置用户信息?

.net c# vb.net event-log

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

PCA FactoMineR绘图数据

我正在运行一个R脚本,使用生成PCA分析图FactorMineR.

我想输出生成的PCA图的坐标,但是我找不到正确的坐标.我找到了results1$ind$coord,results1$var$coord但看起来都不像默认情节.

我找到了 http://www.statistik.tuwien.ac.at/public/filz/students/seminar/ws1011/hoffmann_ausarbeitung.pdfhttp://factominer.free.fr/classical-methods/principal-components-analysis. html 但不描述PCA创建的变量的内容

library(FactoMineR)
data1 <- read.table(file=args[1], sep='\t', header=T, row.names=1)
result1 <- PCA(data1,ncp = 4, graph=TRUE) # graphs generated automatically
plot(result1)
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2 pca

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

Python目录中的Python等价物?

dirPython 2.7.x中的命令列出了模块中所有可访问的"符号".在Perl 5.x中是否有一个等价物来列出包中所有可访问的"符号"?

python perl

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

为什么我的命令行参数被解释为布尔值(Perl 6)?

鉴于此程序:

#!/bin/env perl6
sub MAIN ($filename='test.fq', :$seed=floor(now) )
{
    say "Seed is $seed";
}
Run Code Online (Sandbox Code Playgroud)

当我在没有任何命令行参数的情况下运行它时,它可以正常工作。但是,当我给它的命令行参数时seed,它的值是True

./seed.p6 --seed 1234
Seed is True
Run Code Online (Sandbox Code Playgroud)

为什么数字1234被解释为布尔值?

command-line perl6

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

为什么我只从这个"for"语句中获得单个元素?

我正在尝试生成包含10个具有随机质量分数的随机序列的FASTQ文件.我最初使用以下代码,工作正常:

my @seq  = (rand_fa_seq() for ^10);
my @qual = (rand_qual()   for ^10);

@seq.perl.say;
@qual.perl.say;

sub rand_fa_seq
{
    return join("", roll(20,"ACGT".comb));

}

sub rand_qual
{
    return join("", roll(20,"EFGHIJ".comb))
}
Run Code Online (Sandbox Code Playgroud)

但是,想要进一步简化它,我想也许我可以从右手语句中删除括号.当我这样做,我只有在一个单一的元素@seq@qual.

my @seq  = rand_fa_seq() for ^10;
my @qual = rand_qual()   for ^10;

@seq.perl.say;
@qual.perl.say;

sub rand_fa_seq
{
    return join("", roll(20,"ACGT".comb));

}

sub rand_qual
{
    return join("", roll(20,"EFGHIJ".comb))
}
Run Code Online (Sandbox Code Playgroud)

这是一个错误还是它应该表现的方式?如果没有括号,这是一个标量上下文吗?将在大名单重构改变这种行为?


我见过这种行为的Perl 6解释器的版本:

MoarVM:

基于MoarVM版本2015.03-60-g36d56f7构建的perl6版本2015.03-204-g8578022

JVM:

perl6版本2015.03-305-ga95107d建立在JVM java版本"1.7.0_79"
OpenJDK运行时环境(rhel-2.5.5.1.el7_1-x86_64 u79-b14)
OpenJDK 64位服务器VM(版本24.79-b02,混合模式)

perl6

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

在Perl 6中调用类中的私有方法

我不能在Perl 6中的类中调用私有方法:

class MyClass {

  method !my-private-method($var1) {
    # ....
  }

  method my-method() {
    my $my-var1 = !my-private-method(123); # not found (Undeclared routines)
    my $my-var1 = $!my-private-method(123); # not found (Undeclared routines)
    my $my-var1 = $.my-private-method(123); # not found (Undeclared routines)
    my $my-var1 = my-private-method(123); # not found (Undeclared routines)
Run Code Online (Sandbox Code Playgroud)

那我怎么打电话my-private-methodmy-method

perl perl6

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

为什么我不能在"while"上称之为"gist"?(Perl 6)

我可以gistsay内置函数上调用该方法:

&say.gist
Run Code Online (Sandbox Code Playgroud)
sub say (| is raw) { #`(Sub|54790064) ... }
Run Code Online (Sandbox Code Playgroud)

为什么我不能打电话gistwhile

&while.gist
Run Code Online (Sandbox Code Playgroud)
===SORRY!=== Error while compiling <unknown file>
Undeclared routine:
    while used at line 1
Run Code Online (Sandbox Code Playgroud)

显然while不是"常规"而是say.但我认为Perl 6中的所有内置函数都是我们可以重新定义的函数.

perl6

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

是否所有Instants都与Perl 6中的机器相关?

这是我可以找到定义的情况,但我不太了解它.从官方文档:

瞬间是以原子秒为单位测量的特定时刻,具有分数.它不依赖或意识到任何时代.

我不明白如何在没有时代的情况下指定特定时刻?它没有参考点吗?在两台不同的Linux机器上,似乎两个Instants都提到自POSIX Epoch以来的几秒钟.我的猜测是Instants确实有一个有效的开始时间,但是开始时间是依赖于实现/设备的.

# machine1
say(now * (1/3600) * (1/24) * (1/365.25)); # years from zero point
46.0748226200715

# machine2
say(now * (1/3600) * (1/24) * (1/365.25)); # years from zero point
46.0748712024946
Run Code Online (Sandbox Code Playgroud)

无论如何,我的问题是,可以依赖Instants在不同进程之间保持一致,还是只用于"内部"使用?

perl6

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

标签 统计

perl6 ×7

perl ×2

.net ×1

c# ×1

command-line ×1

event-log ×1

ggplot2 ×1

pca ×1

plot ×1

python ×1

r ×1

sqlite ×1

vb.net ×1