小编Jes*_*wak的帖子

声明并初始化范围内的类型化数组

我最近尝试my Array @a = 'a'..'z';my Array @a = @('a'..'z');

两者都会产生以下错误:

Type check failed in assignment to @a; expected Array but got Str ("a")
in block <unit> at <unknown file> line 1
Run Code Online (Sandbox Code Playgroud)

但是,在没有类型的情况下进行初始化会起作用,并且似乎最终会产生一个Array:

> my @a = 'a'..'z';
> @a.^name
Array
Run Code Online (Sandbox Code Playgroud)

为什么会这样呢?

arrays typing range perl6 raku

14
推荐指数
3
解决办法
206
查看次数

将XML文件读入struct

我正在尝试编写一个程序,将XML文件读入先前定义的Rust结构中.

像这样的东西:

<?xml version="1.0" encoding="UTF-8"?>
<note name="title">
  <body name="main_body">
    <layer content_type="something" count="99">
      <data id="13">
        Datacontent
      </data>
    </layer>
  </body>
</note>
Run Code Online (Sandbox Code Playgroud)

进入:

struct Note {
    name: String,
    Body: Body 
}

struct Body {
    name: String,
    layers: Vec<Layer>,
}

struct Layer {
    content_type: String,
    count: u8,
    data: Vec<Data>,
}

struct Data {
    id: u8,
    // Datacontent?
}
Run Code Online (Sandbox Code Playgroud)

我查看了xml-rs,因为它目前似乎是最流行的XML库.作为Rust的新手,我很难搞清楚如何执行这项任务.

xml xml-parsing rust

12
推荐指数
1
解决办法
2479
查看次数

在Windows上的Git Bash中使用“ perl6”命令

使用Windows,我安装了Rakudo Star和Git并确保C:\rakudo\bin并且C:\rakudo\share\perl6\site\bin位于Path环境变量中。

现在,perl6随后在Git Bash中键入会产生command not found错误,而命令确实powershell中起作用cmdecho $PATH在Git Bash中输入内容再次确认上面的文件夹也在我的path变量中。

如何perl6在Git Bash中使用该命令?

注意:使用moar(moar.exe)与perl6在Git Bash中相同的文件夹中。同时点击Tab会显示的自动完成建议moar,但不会perl6

windows perl6 git-bash raku

10
推荐指数
2
解决办法
212
查看次数

为什么用:w和:append打开仍会覆盖文件?

我得到以下代码来尝试打开和写入文件(不加急):

sub MAIN {
    my $h = open 'somefile.txt', :w, :a;

    for 1..4 {
        $fh.put: "hello";
    }
    $fh.close;
}
Run Code Online (Sandbox Code Playgroud)

我期望的是,每次运行时,都应在文件中附加4行“ hello”。但是,它似乎仍会覆盖该文件,在运行2次或更多次后,仍然只有4行。

$ perl6 opening.p6
$ cat somefile.txt
hello
hello
hello
hello
$ perl6 opening.p6
$ cat somefile.txt
hello
hello
hello
hello
Run Code Online (Sandbox Code Playgroud)

添加或删除:a:append似乎不影响此行为,我缺少什么?

string io file perl6 raku

9
推荐指数
1
解决办法
157
查看次数

Haskell - 接受不同的类型并采取相应的行动

让我们说我得到了以下非常基本的例子:

f :: Either Int String -> IO ()
Run Code Online (Sandbox Code Playgroud)

以及函数g :: Int -> IO ()和函数g' :: String -> IO ()我基本上想要实现f作为"选择器"调用gg'取决于它的输入,以便将来我只需要工作f因为我知道我的程序只会遇到Int或串.

这种使用方式Either有意义吗?该约定似乎主要用于错误和异常处理.

如果它确实有意义,那么实施这样一个例子的好方法或最佳实践是什么?我听过/读过关于casebifunctors的信息.

如果没有:haskell处理不同输入类型可能性的方法是什么?或者这是从一开始就应该避免的事情?

haskell

7
推荐指数
2
解决办法
69
查看次数

Julia:将 Vector 转换为多个 mxn 矩阵,无需循环

假设我有一个向量V,我想将这个向量转换为多个m x n矩阵,或者m x n从该向量 V 获取多个矩阵。对于最基本的示例:转换V = collect(1:75)为 3 个5x5矩阵。

据我所知,这可以通过首先使用 reshapereshape(V, 5, :)然后循环它来完成。Julia 有没有更好的方法而不使用循环?

如果可能,最好是可以在行优先和列优先结果之间轻松更改的解决方案。

julia

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

在Racket中发送HTTP POST

我试图通过在Racket中的http/post发送一个字符串,这是我在阅读Racket HTTP客户端文档后到目前为止所尝试的

#lang racket

(require net/http-client)

(define
  myUrl "https://something.com")

(http-conn-send!
   (http-conn-open
    myUrl
    #:ssl? #t)
   #:version "1.1"
   #:method "POST"
   #:data "Hello")
Run Code Online (Sandbox Code Playgroud)

但是有了这个,我收到以下错误:

tcp-connect: connection failed
  detail: host not found
  address: https://www.w3.org/
  port number: 443
  step: 1
  system error: nodename nor servname provided, or not known; errno=8
Run Code Online (Sandbox Code Playgroud)

我尝试了几个不同的地址.

我是新手一般的编程和编程,无法弄清楚我错过了什么.

lisp post network-programming http racket

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

如何使用已定义的生成器构建惰性列表,是否有"takeWhile"替代方案?

在懒惰的列表上阅读perl6intro,这让我对某些事情感到困惑.

举个例子:

sub foo($x) {
  $x**2
}

my $alist = (1,2, &foo ... ^ * > 100);
Run Code Online (Sandbox Code Playgroud)

会给我(1 2 4 16 256),它将相同的数字直到它超过100.我希望这给我(1 4 9 16 25 .. ),所以不是平方相同的数字,将数字提前x1(或另一个给定的"步骤"),foo x等等.

在这种特定情况下是否有可能实现这一目标?

我在懒惰列表上的另一个问题如下:在Haskell中,有一个takeWhile函数,在Perl6中是否存在类似的东西?

perl6

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

使用http-conduit在Haskell中发送HTTP/POST的基本方法

我正在尝试学习如何使用Haskell通过HTTP/POST发送简单的字符串http-conduit(以便它也适用于https),从文件中读取目标URL,但对我来说似乎仍然有点压倒性.

基本上相当于我在这里学习使用Racket: 在Racket中发送HTTP POST

有人可以给我一个小的或最基本的例子吗?

我试过阅读/sf/answers/942595741/

post haskell functional-programming network-programming http

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