小编sim*_*one的帖子

将表与列表联系起来

我有一个像这样的值列表:

("UXT8","U61J","U61W","U62U","X82U","U5NF","U635","U526","28FX")
Run Code Online (Sandbox Code Playgroud)

我希望能够从表中提取它们中的每一个在表的字段中出现的次数,即使出现次数为0.

我所期待的是类似的

select key_field, count(*) from table
where key_field in ("UXT8","U61J","U61W","U62U","X82U","U5NF","U635","U526","28FX")
group by key_field;
Run Code Online (Sandbox Code Playgroud)

但有一种左连接效果.

这在sql中是否可行,特别是在sqlite或mysql变体中?

谢谢

mysql sql sqlite

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

比较和验证数据结构

我必须像这样检查hashrefs

{ foo => 65, bar => 20, baz => 15 }
Run Code Online (Sandbox Code Playgroud)

对表达这样的条件的hashrefs的arrayref

[
 { foo => { "<=" => 75 } },
 { bar => { "==" => 20 } },
 { baz => { ">=" => 5 } },
]
Run Code Online (Sandbox Code Playgroud)

如果满足所有条件,则返回真值.

两个数据结构都没有预先确定.一个是通过解析数据库中的字符串而构建的,另一个是通过解析用户输入来构建的.

在上面的例子中,我会返回true,但如果我检查hashref

[
 { foo => { "<=" => 60 } },
 { bar => { "==" => 20 } },
 { baz => { ">=" => 5 } },
]
Run Code Online (Sandbox Code Playgroud)

我会返回false,因为第一个hashref中的foo不是<= 60.

问题是:这样做的最佳策略是什么?

我在想

  • 通过eval构建一系列子参数
  • 检查5个不同的预建subrefs中的适当的一个(每个案例一个>,<,<=,> …

perl

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

角色和猴子补丁 Mojo::Message::Response

我正在尝试向 Mojo::UserAgent 添加一个角色来处理对 wikidata SPARQL 服务的查询。

特别是,我希望能够修改响应,以便服务提供的 JSON 更可用。

其要点是我希望能够写

my $ua = Mojo::UserAgent->new->with_roles('+Wikidata');

my $tx = $ua->query($some_sparql); # ->query is defined by Mojo::UserAgent::Role::Wikidata

my $items = $tx->res->items; # this is the crux of the question
Run Code Online (Sandbox Code Playgroud)

但这意味着 - 据我所知:

  • 捕获具有 Wikidata 角色的用户代理生成的交易
  • 猴子补丁或向这些事务中的响应添加角色

问题是:

  1. 这是一个坏主意吗?
  2. 如果不是,我该怎么做?

perl mojolicious

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

大阵列上的grep或splice

我有一大堆哈希值,大约0.5Gb,存储在内存中,我需要从中删除一些元素,大约10%遍布整个数组.

什么是最好的工作,做grep,或识别需要删除的元素,并将它们拼接出来的可能性更大?

谢谢,

西蒙娜

perl

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

在Postgres中将十六进制字符串转换为bigint

我想将HTML使用的十六进制字符串转换为a bigint,然后通过PL/pgSQL编写的函数将其转换为Postgres中单独的R,G和B值.

我可以bytea像这样解码字符串:

hex bytea := decode(hex, 'hex');
Run Code Online (Sandbox Code Playgroud)

在具有固定值的查询中,这就像一个美女:

select ( array[ (cast(x'ffaa33' as bigint) >> 16) % 256,
                (cast(x'ffaa33' as bigint) >> 8) % 256,
                 cast(x'ffaa33' as bigint) % 256 ] )
Run Code Online (Sandbox Code Playgroud)

但我不能将两者放在一起,传递 - 例如'ffaa33'作为参数.

谁有更好的主意?我正在使用PosgreSQL 9.1?

sql postgresql hex postgresql-9.1

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

Python 中是否有类似于 Perl 中的“want”的东西

在 Perl 中,有一种方法可以找出函数在什么上下文中被调用 - 无论是列表还是标量上下文 - 甚至更精细的粒度。请参阅wantarraywant模块

Python中有类似的东西吗?

python perl

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

如何使用 Mojolicious 从所有 DOM 元素中删除属性?

我想从我通过 Mojolicious 抓取的页面的所有元素中删除 bgcolor 属性。

我的尝试如下:

$dom->all_contents->each(sub { $_->attr('bgcolor' => undef) });
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用。

我怎样做才正确?

perl mojolicious

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

页面中 THREE.WebGLRenderer 实例的数量是否有限制?

我试图拥有许多不同的 THREE.WebGLRenderer 实例,每个实例都有自己的场景。

我设法加载最多 16 个场景,但一旦加载第 17 个场景,第一个场景就消失了。

我记得前段时间看到过关于最大上下文数量的警告,但它似乎不再出现了。

有任何想法吗?

webgl three.js

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

如何使用Mojo :: DOM设置节点的属性?

我正在尝试使用Mojo :: DOM设置属性,如下所示:

use Mojo::DOM;

my $a = Mojo::DOM->new('<a></a>');
my $a = $a->attr({ 'href' => 'https://foo/bar' });
print $a;
Run Code Online (Sandbox Code Playgroud)

我希望它能打印

<a href="https://foo/bar"></a>
Run Code Online (Sandbox Code Playgroud)

但我明白了

<a></a>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

perl mojolicious

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

如何判断对象是否具有特定的重载方法?

我想检查一个对象在 perl 中是否有特定的重载方法——例如,它是否有一个子解引用重载,它会像这样定义:

use overload
    '&{}' => \&_some_sub;

sub some_sub {...}
Run Code Online (Sandbox Code Playgroud)

如果我转储创建相关对象的包的符号表,我会看到以下内容:

[
  "new",
  "import",
  "((",
  "(&{}",
  "ISA",
  "__ANON__",
  "BEGIN",
]
Run Code Online (Sandbox Code Playgroud)

(&{}在符号表中找到是否总是意味着存在子 deref 方法?并且它也适用于其他重载(我看看(""我是否重载了字符串化)。

perl

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

标签 统计

perl ×7

mojolicious ×3

sql ×2

hex ×1

mysql ×1

postgresql ×1

postgresql-9.1 ×1

python ×1

sqlite ×1

three.js ×1

webgl ×1