我有一个简单的任务,创建一个脚本,将文件名作为参数,读取每个文件中的每一行并检查一些东西.
我尝试这样做:
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将不会同时拥有它们,而只有一个.
我在 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=¤cy=
如何从控制器GetInfo方法内部访问请求的参数?