小编mat*_*ull的帖子

SQLite中的IF()语句替代

我有MySQL(perl)的代码:

UPDATE pages
SET rkey = rkey + 2,
    lkey = IF(lkey >= $key, lkey + 2, lkey)
WHERE rkey >= $key
Run Code Online (Sandbox Code Playgroud)

我需要在SQLite中使用此代码,但不支持IF()函数.我可以做什么?

sql if-statement

26
推荐指数
3
解决办法
6万
查看次数

Perl 6是否有类似CPAN/CPAN6的项目?

我最近和Rakudo Perl 6一起玩,正在寻找类似于CPAN的项目.我找到了CPAN 6,但我认为还没有Perl 6代码.

所以我正在寻找一些替代方案,它不一定是长期解决方案,但能够维护模块,并用Perl 6编写.

随着Rakudo的发展,很快就可能创建更复杂的Perl 6代码.

cpan perl6 raku

19
推荐指数
3
解决办法
1779
查看次数

为什么源文件名不是人类可读的?

我安装了Perl6 rakudobrew并且浏览已安装的文件以查看十六进制文件名列表~/.rakudobrew/moar-2018.08/install/share/perl6/site/sources以及~/.rakudobrew/moar-2018.08/install/share/perl6/sources/.

例如

> ls ~/.rakudobrew/moar-2018.08/install/share/perl6/sources/
09A0291155A88760B69483D7F27D1FBD8A131A35  AAC61C0EC6F88780427830443A057030CAA33846
24DD121B5B4774C04A7084827BFAD92199756E03  C57EBB9F7A3922A4DA48EE8FCF34A4DC55942942
2ACCA56EF5582D3ED623105F00BD76D7449263F7  C712FE6969F786C9380D643DF17E85D06868219E
51E302443A2C8FF185ABC10CA1E5520EFEE885A1  FBA542C3C62C08EB82C1F4D25BE7B4696F41B923
522BE83A1D821D8844E8579B32BA04966BAB7B87  FE7156F9200E802D3DB8FA628CF91AD6B020539B
5DD1D8B49C838828E13504545C427D3D157E56EC
Run Code Online (Sandbox Code Playgroud)

这些文件包含软件包的源代码,但这种方式并不容易访问.那是什么理由?

rakudo perl6 raku

16
推荐指数
1
解决办法
407
查看次数

如何正确解组不同类型的数组?

只要我有键值对,解组很简单,但是如何以不同的顺序解组不同类型的数组呢?单个元素定义明确且已知,但顺序不是.

我无法想出一个漂亮的解决方案.

我会尝试对所有元素进行错误吗?是否有某种联合类型可以为我做到这一点?

游乐场版

package main

import (
    "encoding/json"
    "fmt"
)

var my_json string = `{
    "an_array":[
        "with_a string",
        {
            "and":"some_more",
            "different":["nested", "types"]
        }
    ]
}`

type MyInner struct {
    And     string
    Different   []string
}

type MyJSON struct {
    An_array []json.RawMessage
}

func main() {
    var my_json_test MyJSON

    e := json.Unmarshal([]byte(my_json), &my_json_test)
    if e != nil {
        fmt.Println(e)
    } else {
        for index, value := range my_json_test.An_array {
            fmt.Println("index: ", index)
            fmt.Println("value: ", string(value))
        }
        var my_inner MyInner
        err := …
Run Code Online (Sandbox Code Playgroud)

json go unmarshalling

14
推荐指数
1
解决办法
6932
查看次数

如何重建/重新安装最新的CPAN模块的依赖项?

我需要重新安装CPAN模块的依赖项.通常安装的某些依赖项缺失,但程序包本身是最新的cpan.

那我怎么还能安装依赖项呢?

perl dependencies cpan

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

如何使用一个"使用""使用"多个模块?

我想在我的所有程序中使用一些包和一些编译指示,例如:

use 5.014;
use warnings;
use autodie;
use My::ModuleA::Something;
use ModuleB qw(Func1 Func2);
Run Code Online (Sandbox Code Playgroud)

我不想在每个模块中重复自己,所以寻找一种方法如何制作一个包,例如My::Common包含上述包的内容以及我的程序中只包含:

use My::Common;
say Func1("hello"); #say enabled and Func1 imported in the My::Common
Run Code Online (Sandbox Code Playgroud)

怎么实现这个?

这是阅读preldoc -f use,perldoc perlmodlib所以我认为我必须"有点"用BEGIN加上需要和导入,但绝对不知道如何.


更新:我已经尝试了基本的东西.

require- 我的prg.pl程序.

require 'mymods.pl';
$var = "hello";
croak "$var\n";
Run Code Online (Sandbox Code Playgroud)

mymods.pl包含

use strict;
use feature 'say';
use Carp qw(carp croak cluck);
1;
Run Code Online (Sandbox Code Playgroud)

不工作.得到错误:

$ perl prg.pl 
String found where operator expected at prg.pl line 3, near "croak "$var\n""
    (Do you …
Run Code Online (Sandbox Code Playgroud)

perl

13
推荐指数
2
解决办法
2557
查看次数

从List <int>返回字符串的最优雅方式

什么是从列表中返回字符串的最优雅的方法ok,是的,我知道我可以做类似的事情

public string Convert(List<int> something)
{
    var s = new StringBuilder();
    foreach(int i in something)
        s.AppendFormat("{0} ", i);

    return s.ToString();
}
Run Code Online (Sandbox Code Playgroud)

但我确定有一种方法可以用lambdas做到这一点我也尝试追加到一个字符串构建器,但这不是做什么预期

c#

12
推荐指数
4
解决办法
6560
查看次数

什么是TExternalThread?终止基于线程的计时器时"无法终止外部创建的线程"

这种情况发生在关闭我的应用程序的一半时间,在该应用程序中,我在设计时将TLMDHiTimer放置在我的表单上,Enabled设置为true.在我的OnFormClose事件中,我调用MyLMDHiTimer.Enabled:= false.当这个被调用时,我有时(大约一半的时间)得到这个例外.

我调试并进入调用,发现它是LMDTimer.pas中的第246行,它给出了这个错误.

FThread.Terminate;
Run Code Online (Sandbox Code Playgroud)

我使用的是最新版本的LMDTools.我在周末之前完成了LMD工具的重新安装,并且已经将组件移除并重新添加到表单中.

根据我的发现,这与TExternalThread有关,但Embarcadero没有关于它的文档,我没有在LMDTools源代码中找到任何引用它的文档.

使用完全更新的RAD Studio 2010,Delphi 2010.

让我感到不安的是,没有任何文件.谷歌实际上谈到了一个结果,其中有人说错误是由于试图终止TExternalThread造成的.但是看看这个LMDHiTimer的源代码,不是一次它的目的是做任何事情,而是创建一个常规的TThread.我可以找到一个google结果,Thread:无法终止外部创建的线程?在Embarcadero上提到使用GetCurrentThread()和GetCurrentThreadId()来获取挂钩到现有线程所需的数据,但TLMDHiTimer没有这样做.它只是创建自己的TThread后代,它有自己的Create()构造函数(当然是重写,并且在构造函数的开头继承了调用)

那么......这个TExternalThread到底是什么?还有其他人遇到过这种例外吗?也许找出了解决方案或解决方法?我已经向LMDTools自己的支持提出了几乎完全相同的问题,但在多个地方提问并不会有什么问题.

提前感谢您的任何帮助.

delphi multithreading external delphi-2010

12
推荐指数
2
解决办法
6566
查看次数

如何忽略perl中的"证书验证失败"错误?

我想访问无法验证证书的网站.我正在使用WWW :: Mechanize get请求.那么如何忽略这一点并继续连接到网站?

perl https ssl-certificate

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

有没有办法查看变量使用多少内存?

我现在和Perl合作已有几个月了.至于现在,我的脚本工作但它们远非完美.

我现在想优化内存使用,因此我正在寻找一种方法来分解每个变量/ hash的内存使用情况.

有没有办法查看变量使用多少内存?

perl memory-management

11
推荐指数
1
解决办法
933
查看次数