如何在Perl的Mojo::URL中添加多个路径?

问题描述 投票:0回答:1

如何将多个

path
添加到
Mojo::URL
对象?考虑下面的例子:

perl -Mojo -E 'say new Mojo::URL("https://httpbin.org/")->path("bytes")->path($_)->to_abs for (1..3)'

所需输出:

https://httpbin.org/bytes/1
https://httpbin.org/bytes/2
https://httpbin.org/bytes/3

实际产量:

https://httpbin.org/1
https://httpbin.org/2
https://httpbin.org/3

->path("bytes/$_")
似乎是错误的。

perl mojolicious
1个回答
0
投票

->path("bytes/$_")
似乎是错误的。

这是正确的方法,Mojo::URL 的文档中甚至有这样的示例。您建议的方法会存在多个问题:

  • URL 定义中的路径只是单个组件,因此调用仅设置路径“path”的组件的方法会令人困惑
  • 不带参数的方法
    path
    返回路径,类似于带参数的
    path
    设置它的方式。使
    path(element)
    仅向路径添加另一个元素时的期望是
    path()
    然后将仅返回最后添加的元素而不是完整路径。
© www.soinside.com 2019 - 2024. All rights reserved.