小编Fis*_*eon的帖子

Foreach循环结合while(<>)从@ARGV"移位"

我有一个简单的任务,创建一个脚本,将文件名作为参数,读取每个文件中的每一行并检查一些东西.

我尝试这样做:

foreach $file (@ARGV){
    while (chomp($line = <>)){
         ...
    }
}
Run Code Online (Sandbox Code Playgroud)

虽然我明白虽然只是阅读所有文件,而且这种方法并不好,但我注意到在每次"foreach"迭代后,@ ARGV丢失了一个条目,好像有一个条目

shift @ARGV;
Run Code Online (Sandbox Code Playgroud)

如果没有,就不会发生这种情况

这是我不理解的部分,想要解释.为什么@ARGV每次减少1个元素?

例如,如果我用脚本调用脚本

./test.pl localhost_access_log*.txt
Run Code Online (Sandbox Code Playgroud)

还有文件

localhost_access_log.2008-02-24.txt
localhost_access_log.2008-02-25.txt
Run Code Online (Sandbox Code Playgroud)

在当前文件夹中,在foreach循环之后,@ ARGV将不会同时拥有它们,而只有一个.

perl

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

访问 .NET 控制器中的查询参数

我在 jQuery 中有这个函数

var uri = "api/queries";

function test(){
    var params = {
        origin: $('#depair').val(),
        destination: $('#destair').val(),
        departure_date: $('#depdate').val(),
        currency: $('#currency').val(),
    }
    $.getJSON(uri, params)
        .done(function (data) {
            console.log(data);
    });
}
Run Code Online (Sandbox Code Playgroud)

它将请求发送到此Controller

public class QueriesController : ApiController
{
    [HttpGet]
    public string GetInfo()
    {
        return "blah";
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,请求看起来像这样

http://localhost:55934/api/queries?origin=&destination=&departure_date=&currency=

如何从控制器GetInfo方法内部访问请求的参数?

.net c# asp.net-mvc jquery asp.net-web-api

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

标签 统计

.net ×1

asp.net-mvc ×1

asp.net-web-api ×1

c# ×1

jquery ×1

perl ×1