标签: arguments

如何通过需要自由函数的成员函数?

问题如下:考虑这段代码:

#include <iostream>


class aClass
{
public:
    void aTest(int a, int b)
    {
        printf("%d + %d = %d", a, b, a + b);
    }
};

void function1(void (*function)(int, int))
{
    function(1, 1);
}

void test(int a,int b)
{
    printf("%d - %d = %d", a , b , a - b);
}

int main (int argc, const char* argv[])
{
    aClass a();

    function1(&test);
    function1(&aClass::aTest); // <-- How should I point to a's aClass::test function?

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我如何使用a's aClass::test …

c++ arguments function-pointers parameter-passing pointer-to-member

106
推荐指数
6
解决办法
23万
查看次数

Gradle任务 - 将参数传递给Java应用程序

我有一个使用自定义gradle任务运行的Java应用程序,并且应用程序在被调用时需要一些参数.这些是:

programName ( string | -f filename | -d key | -h)
Options:
    string         Message to be used.
    -d key         Use default messages, key must be s[hort], m[edium] or l[ong].
    -f filename    Use specified file as input.
    -h             Help dialog.
Run Code Online (Sandbox Code Playgroud)

Gradle任务看起来像:

task run (type: JavaExec){
    description = "Secure algorythm testing"
    main = 'main.Test'
    classpath = sourceSets.main.runtimeClasspath
}
Run Code Online (Sandbox Code Playgroud)

我试过跑gradle run -h,但是不起作用.

java arguments gradle

105
推荐指数
6
解决办法
8万
查看次数

Python函数作为函数参数?

Python函数可以作为另一个函数的参数吗?

说:

def myfunc(anotherfunc, extraArgs):
    # run anotherfunc and also pass the values from extraArgs to it
    pass
Run Code Online (Sandbox Code Playgroud)

所以这基本上是两个问题:

  1. 它是否允许?
  2. 如果是,如何在其他功能中使用该功能?我需要使用exec(),eval()或类似的东西吗?永远不需要弄乱它们.

BTW,extraArgs是anotherfunc参数的列表/元组.

python arguments function

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

如何从命令行传递参数到Makefile?

如何从命令行传递参数到Makefile?

我明白我能做到

$ make action VAR="value"
$ value
Run Code Online (Sandbox Code Playgroud)

Makefile

VAR = "default"
action:
    @echo $(VAR)
Run Code Online (Sandbox Code Playgroud)

我如何获得以下行为?

$ make action value
value
Run Code Online (Sandbox Code Playgroud)

怎么样

$make action value1 value2
value1 value2
Run Code Online (Sandbox Code Playgroud)

parameters command-line arguments makefile

99
推荐指数
5
解决办法
12万
查看次数

你能列出一个函数收到的关键字参数吗?

我有一个字典,我需要传递键/值作为关键字参数..例如..

d_args = {'kw1': 'value1', 'kw2': 'value2'}
example(**d_args)
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但是如果d_args dict中的值没有被example函数接受,它显然会死掉..比如说,如果示例函数定义为def example(kw2):

这是一个问题,因为我不控制生成d_argsexample函数..它们都来自外部模块,example只接受来自dict的一些关键字参数.

理想情况下我会这样做

parsed_kwargs = feedparser.parse(the_url)
valid_kwargs = get_valid_kwargs(parsed_kwargs, valid_for = PyRSS2Gen.RSS2)
PyRSS2Gen.RSS2(**valid_kwargs)
Run Code Online (Sandbox Code Playgroud)

我可能只是从有效的关键字参数列表中过滤掉dict,但我想知道:有没有办法以编程方式列出特定函数所需的关键字参数?

python arguments introspection

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

将传递的参数重定向到Windows批处理文件

我想从Windows批处理文件中调用一个jar文件.一个要求是能够将所有批处理文件参数原样传递给jar文件调用.例如,

必需的命令行:

foo.bat --flag1=x --flag2=y --flag3=z
Run Code Online (Sandbox Code Playgroud)

批处理文件foo.bat应该调用foo.jar如下:

java -jar foo.jar --flag1=x --flag2=y --flag3=z
Run Code Online (Sandbox Code Playgroud)

如何使批处理文件执行此操作?
我可以用%做一些批量变量魔术来做到这一点,但是有更简单的方法吗?

windows arguments batch-file

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

ARG或ENV,在这种情况下使用哪一个?

这可能是一个微不足道的问题,但阅读ARGENV的文档并不能让我明白.

我正在构建一个PHP-FPM容器,我希望能够启用/禁用一些用户需求扩展.

如果可以在Dockerfile中通过添加条件并在构建命令上传递标志来完成,那将是很好的,但是不支持AFAIK.

在我的情况下,我个人的方法是在容器启动时运行一个小脚本,如下所示:

#!/bin/sh   
set -e

RESTART="false"

# This script will be placed in /config/init/ and run when container starts.
if  [ "$INSTALL_XDEBUG" == "true" ]; then
    printf "\nInstalling Xdebug ...\n"
    yum install -y  php71-php-pecl-xdebug
    RESTART="true"
fi
...   
if  [ "$RESTART" == "true" ]; then
    printf "\nRestarting php-fpm ...\n"
    supervisorctl restart php-fpm
fi

exec "$@"
Run Code Online (Sandbox Code Playgroud)

这是我的Dockerfile样子:

FROM reynierpm/centos7-supervisor
ENV TERM=xterm \
    PATH="/root/.composer/vendor/bin:${PATH}" \
    INSTALL_COMPOSER="false" \
    COMPOSER_ALLOW_SUPERUSER=1 \
    COMPOSER_ALLOW_XDEBUG=1 \
    COMPOSER_DISABLE_XDEBUG_WARN=1 \
    COMPOSER_HOME="/root/.composer" \ …
Run Code Online (Sandbox Code Playgroud)

arguments environment-variables docker dockerfile

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

如何在启动/调用批处理文件时检查是否定义了参数?

我正在尝试在批处理文件中使用以下验证逻辑,但即使没有为批处理文件提供参数,"使用"块也永远不会执行.

if ("%1"=="") goto usage

@echo This should not execute

@echo Done.
goto :eof

:usage
@echo Usage: %0 <EnvironmentName>
exit 1
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

arguments batch-file

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

使用命令行参数从C#执行PowerShell脚本

我需要在C#中执行PowerShell脚本.该脚本需要命令行参数.

这是我到目前为止所做的:

RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();

Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();

RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);

Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(scriptFile);

// Execute PowerShell script
results = pipeline.Invoke();
Run Code Online (Sandbox Code Playgroud)

scriptFile包含类似"C:\ Program Files\MyProgram\Whatever.ps1"的内容.

该脚本使用命令行参数,例如"-key Value",而Value可以是类似于也可能包含空格的路径.

我不这样做.有谁知道如何从C#中将命令行参数传递给PowerShell脚本并确保空格没有问题?

c# powershell scripting command-line arguments

91
推荐指数
6
解决办法
15万
查看次数

ruby将数组转换为函数参数

说我有一个阵列.我希望将数组传递给函数.但是,该函数需要两个参数.有没有办法将数组转换为2个参数?例如:

a = [0,1,2,3,4]
b = [2,3]
a.slice(b)
Run Code Online (Sandbox Code Playgroud)

会在Ruby中产生错误.我需要输入a.slice(b[0],b[1])我正在寻找更优雅的东西,如a.slice(foo.bar(b)) 谢谢.

ruby arrays arguments function

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