标签: argument-passing

将参数传递给 python eval()

我正在做遗传编程框架,我需要能够执行一些代表完整Python程序的字符串。我正在使用Python 2.7。我有一个配置类,其中定义了原始集。可以说

class Foo():
    def a(self,x):
        return x

    def b(self,y):
        return y
Run Code Online (Sandbox Code Playgroud)

我正在使用 python 检查模块提取函数,并且我想创建一些包含导入和所有内容的可执行源代码。我最终得到了一个看起来像这样的字符串

import sys

def a(x,y):
    return x

def b(y):
    return y

def main(x,y)
    lambda x,y: a(b(y),a(x,y))

main(*sys.argv)
Run Code Online (Sandbox Code Playgroud)

我的问题是我不知道如何将命令行参数传递给我正在运行的字符串eval()如何将命令行参数传递给我想要运行的源文件eval()

编辑:有数百万人,因此写入文件并不是一个好的选择。

编辑:我犯了一个错误。eval() 方法仅用于表达式而不是语句,因此使用 exec() 是正确的方法

python code-generation eval argument-passing

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

在C中传递多维数组

我目前正在努力学习C,我遇到了一个我无法解决的问题.

考虑:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define ELEMENTS 5

void make(char **array, int *array_size) {
    int i;
    char *t = "Hello, World!";

    array = malloc(ELEMENTS * sizeof(char *));

    for (i = 0; i < ELEMENTS; ++i) {
        array[i] = malloc(strlen(t) + 1 * sizeof(char));
        array[i] = strdup(t);
    }
}

int main(int argc, char **argv) {
    char **array;
    int size;
    int i;

    make(array, &size);

    for (i = 0; i < size; ++i) {
        printf("%s\n", array[i]);
    }

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

c arrays dynamic argument-passing

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

是否有良好的参数检查策略?

而不是用if条件检查每个输入指针参数if( in != NULL ),有更好的方法来做到这一点.一种方法是创建一些宏,比如

#define CHECK_ARG(x) if(!(x)) { return 0; }
Run Code Online (Sandbox Code Playgroud)

在代码中它看起来像这样

int some_func( int * first_arg, int * second_arg )
{
    CHECK_ARG( first_arg );
    CHECK_ARG( second_arg );

    // some operations
    //
}
Run Code Online (Sandbox Code Playgroud)

在我看来这是一个很好的方法,但在添加之前,我想知道有没有更好的方法呢?

提前致谢!

c argument-passing

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

如何在C中将多个变量从函数传递给main?

main如果所述函数已经具有返回值,如何将函数的局部变量传回?对不起,这个问题,我试图让每个人尽可能客观,而不仅仅是我的情况.

具体来说:我有一个叫做的函数subtotal.有两个计数变量.其中一个我回来了return.另一个我需要提供我的main()功能使用.

编辑:澄清:

function something() {
   float counter = 0.0;
   int someOtherVar = 0;

   // the work

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

我想要做的是将counter浮动传递给main.

c return argument-passing

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

在函数中传递参数 - OpenCV&Cpp

我已经有一段时间来回这个问题,特别是因为我开始使用OpenCV库.事实是,在OpenCV中,使用了几种方法:

  • 1st:funcA((const)CvMat arg)
  • 第二名:funcA((const)CvMat&arg)
  • 第3名:funcA((const)CvMat*arg)
  • 第四名:funcA((const)CvMat*&arg)=>我刚看到并且目前被困在这

当然,对应于每种方法,调用者格式和功能实现应该是不同的.

所有这些衍生物有什么意义?特别是最后一个(我还没有理解它的用法)

c++ opencv argument-passing

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

如何在lisp中全局更改函数内的变量值

我想知道是否有任何方法可以使用LISP中的指针模拟C行为.在C中如果更改变量的值,该指针指向,则它具有全局效果(即该值也将在函数外部更改).

所以,如果我有

(defun mutate ( a ) 
   (some-magic-function a 5)
)
Run Code Online (Sandbox Code Playgroud)

无论以前是什么,a都会在调用mutate后转为5.

我知道带有列表的元素有可能(很多是副作用) 在common-lisp中,如何在不更改原始列表的情况下从函数中修改list参数的一部分? 但我想知道如何为整个清单做这件事.

lisp common-lisp argument-passing

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

在游戏开发中使用WiFi-Direct(Android)

我在android中开发棋盘游戏.我想让这个游戏可以在两个独立的设备上播放,因为我需要使用WiFi-Direct.我想知道是否有任何图书馆可以帮助我

  • 查找并连接设备
  • 触摸侦听事件后,在两个设备之间发送和接收板坐标

我对内置库感兴趣.或者如果可能,请分享已实现的客户端/服务器架构示例.

java android argument-passing wifi-direct wifip2p

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

如何使用管道符号将多个参数传递到bash-script的case语句中

我有一个脚本,根据文件类型在我的下载目录中组织文件.

function moveto {
    for filename in *
    do
    case "${filename##*.}" in
        $1 ) echo "!";; # echo statement for debugging
    esac
    done
}
Run Code Online (Sandbox Code Playgroud)

我的下载目录中有一个.png文件,没有别的.
当我打电话时moveto "png",会出现感叹号.
当我打电话时moveto "png|jpg",感叹号不会出现.
当我只输入png|jpgcase语句时,不使用变量,就会出现感叹号.

我尝试过更多的改变方法; 使用单引号,双引号,无引号,别名等,似乎没有任何作用.如果有人可以提供帮助,那就太棒了.

bash escaping argument-passing command-line-arguments

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

如何将带有空格的参数从bash脚本传递给bash脚本?

我有一个脚本操纵数据,创建参数并将它们发送到第二个脚本.其中一个参数包含一个空格.

script1.sh:

args=()
args+=("A")
args+=("1 2")
args+=("B")
. script2.sh ${args[@]}
Run Code Online (Sandbox Code Playgroud)

script2.sh:

for f in "$@"
do
  echo f=$f
done
Run Code Online (Sandbox Code Playgroud)

我想得到"1 2"一个单独的论点,但是分别收到它们:

f=A
f=1
f=2
f=B
Run Code Online (Sandbox Code Playgroud)

我也尝试将script2中的输入转换为list in=($@)并使用它进行迭代,for f in ${in[@]}但结果相同.

因此,问题可能出在以下情况之一:构建参数列表; 通过建成的清单; 解析输入; 或迭代输入.

如何将带有空格的参数从bash脚本传递给bash脚本?谢谢.

*我在Windows上使用git-bash.

bash for-loop list argument-passing git-bash

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

有多少种方法可以将char数组传递给C函数?

  • foo(char *s)
  • foo(char *s[ ])
  • foo(char s[ ])

所有这些有什么区别?

有什么方法可以修改作为参数传递的数组的元素,就像我们传递intfloat使用&实际参数的值被修改一样?

c arrays pointers argument-passing

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