标签: arguments

使用带有关键字参数的map()函数

这是我尝试使用该map函数的循环:

volume_ids = [1,2,3,4,5]
ip = '172.12.13.122'
for volume_id in volume_ids:
    my_function(volume_id, ip=ip)
Run Code Online (Sandbox Code Playgroud)

有没有办法可以做到这一点?如果它不是ip参数,那将是微不足道的,但我不知道如何处理它.

python arguments map-function

34
推荐指数
3
解决办法
2万
查看次数

PHP将所有参数作为数组获取?

嘿,我正在使用PHP函数,它接受多个参数并格式化它们.目前,我正在使用这样的东西:

function foo($a1 = null, $a2 = null, $a3 = null, $a4 = null){
    if ($a1 !== null) doSomethingWith($a1, 1);
    if ($a2 !== null) doSomethingWith($a2, 2);
    if ($a3 !== null) doSomethingWith($a3, 3);
    if ($a4 !== null) doSomethingWith($a4, 4);
}
Run Code Online (Sandbox Code Playgroud)

但我想知道我是否可以使用这样的解决方案:

function foo(params $args){
    for ($i = 0; $i < count($args); $i++)
        doSomethingWith($args[$i], $i + 1);
}
Run Code Online (Sandbox Code Playgroud)

但仍然以相同的方式调用函数,类似于C#中的params关键字或JavaScript中的arguments数组.

php arrays arguments function

33
推荐指数
3
解决办法
5万
查看次数

带参数的单身人士

我需要一个单例类来实例化一些参数.我现在这样做的方式是:

class SingletonExample
{
     private SingletonExample mInstance;
     //other members... 
     private SingletonExample()
     {

     } 
     public SingletonExample Instance
     {
         get
         {
              if (mInstance == null)
              {
                  throw new Exception("Object not created");
              }
              return mInstance;
         }
     }

     public void Create(string arg1, string arg2)
     {
         mInstance = new SingletonExample();
         mInstance.Arg1 = arg1;
         mInstance.ObjectCaller = new ObjectCaller(arg2);
         //etc... basically, create object...
     } 
}
Run Code Online (Sandbox Code Playgroud)

该实例是"迟到"创建的,这意味着我没有在app启动时获得所有必需的参数.

一般来说,我不喜欢强制方法调用的排序,但我在这里看不到另一种方式.IoC也不会解决它,因为我可以在容器中注册它,我也可以调用Create()...

你认为这是一个好的方案吗?你有其他想法吗?

编辑:我知道我写的一个例子,它不是线程安全的,线程安全不是问题的一部分

c# parameters singleton arguments design-patterns

33
推荐指数
3
解决办法
5万
查看次数

如何在C++中使用成员变量作为默认参数?

我想为其中一个成员函数选择一个参数.如果没有提供参数,它将使用成员变量.

但是,当我尝试编译它时,它显示" 错误:无效使用非静态数据成员'Object :: initPos' "

只是为了隔离问题,我尝试默认一个int类型,它编译得很好.我想知道我的代码有什么问题,以及如何使用成员函数作为默认值.

谢谢您的帮助!

Object.h

class Object
{
    public:
       ...
       void MoveTo(double speed, Point position);

    protected:
       Point initPos; 
       Point currPos;

};
Run Code Online (Sandbox Code Playgroud)

Object.c

void Object::MoveTo(double speed, Point position = initPos)
{
    currPos = postion;
}
Run Code Online (Sandbox Code Playgroud)

Point.h

class Point
{
    ...

    private:
       double x;
       double y;
       double z; 
};
Run Code Online (Sandbox Code Playgroud)

c++ arguments default object

33
推荐指数
3
解决办法
2万
查看次数

将参数传递给package.json中的npm脚本

有没有办法在package.json命令中传递参数?

我的剧本:

"scripts": {
  "test": "node mytest.js $1 $2 | node_modules/tap-difflet/bin/tap-difflet"
}
Run Code Online (Sandbox Code Playgroud)

CLI npm run test 8080 production

然后,mytest.js我想得到论点process.argv

parameters arguments node.js npm

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

从命令行将参数传递给C程序

所以我在Linux中,当你从命令行执行它时,我希望有一个程序接受参数.

例如,

./myprogram 42 -b -s

那么程序会将该数字42存储为int并执行某些代码部分,具体取决于它是什么参数-b或-s.

c linux arguments

32
推荐指数
5
解决办法
13万
查看次数

zsh别名 - >功能?

假设我有:

alias gg="git grep"
Run Code Online (Sandbox Code Playgroud)

然后像:

gg "int x"
Run Code Online (Sandbox Code Playgroud)

有效,但是

gg int x
Run Code Online (Sandbox Code Playgroud)

得到投诉.有没有办法将gg重写为zsh中的函数,以便它获取gg之后的所有参数,并将它们填充到字符串中?

谢谢!

arguments zsh

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

将参数从php中的数组传递给构造函数

通常,如果我想将$ myarray中的参数传递给$ somefunction,我可以在php中使用

call_user_func_array($somefunction, $myarray);
Run Code Online (Sandbox Code Playgroud)

但是,当希望调用的函数是对象的构造函数时,这不起作用.出于相当明显的原因,它无法做到:

$myobj = new call_user_func_array($classname, $myarray);
Run Code Online (Sandbox Code Playgroud)

有什么相当优雅的确有效吗?

php arrays constructor arguments function

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

调用jar文件时指定JVM参数?

我想在调用jar文件时指定一些JVM参数:

java -jar filename.jar
Run Code Online (Sandbox Code Playgroud)

我以为我是这样做的:

java -Xms256m -Xmx512m -Djava.awt.headless=true jar filename.jar
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.我究竟做错了什么?

java jvm arguments

32
推荐指数
2
解决办法
6万
查看次数

批处理脚本 - 通过参数迭代

我有一个包含多个参数的批处理脚本.我正在读取它们的总数,然后像这样运行for循环:

@echo off
setlocal enabledelayedexpansion

set argCount=0
for %%x in (%*) do set /A argCount+=1
echo Number of processed arguments: %argCount%

set /a counter=0
for /l %%x in (1, 1, %argCount%) do (
set /a counter=!counter!+1 )
Run Code Online (Sandbox Code Playgroud)

我现在想做的是使用我的运行变量(xcounter)来访问输入参数.我在想这样的事情:

REM Access to %1 
echo %(!counter!)
Run Code Online (Sandbox Code Playgroud)

在理想的世界中,这一行应该打印出我的第一个命令行参数,但显然它没有.我知道我对%操作员做错了什么,但无论如何我可以访问我这样的论点吗?

//编辑:只是为了清楚 - 问题在于它%(!counter!)为我提供了变量的值counter.counter=2它的意义给了我2而不是内容%2.

arguments loops batch-file command-line-arguments

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