标签: arguments

命名参数是方法签名的一部分吗?如何以及为何?

我的意思是,命名参数似乎是某种方式的签名:您不能使用任何名称并且仅尊重参数的位置来调用命名方法。但是,我们不能创建两个具有相同签名和名称但使用不同参数名称的方法。

接口可以强制类的方法使用给定参数的名称吗?

使用命名参数:

int i = Function(NamedArgument: x);

不使用命名参数:

int i = 函数(x);

c# parameters syntax arguments function

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

在 PHP 中定义具有相同名称和不同参数类型的多个函数

可能的重复:
PHP OOP:每个参数类型都有唯一的方法?
PHP 5.3 方法重载(就像 Java 中一样)

我有一些不同的类别,例如用户和组。我想创建一个通用类来添加该类的属性。我的类有一些功能,如添加、删除、编辑等,例如:

<?php
class Persistence{
    function add(Users $userObj){
        ....
    }
    function add(Groups $groupObj){
        ....
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

php arguments function

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

事件的行为,以及 Vue.js 中的 $event 变量

使用以下方法“updateCoords”,需要提供“event”参数。下面的 div 跟踪 mousemove 事件并通过方法实时更新光标的 x 和 y 坐标。

<div id="content">
  <div @mousemove="updateCoords($event)" style="height:400px;width:400px;border:2px solid black;">
    {{x}} {{y}}
  </div>
</div>

<script>
  new Vue({
    el: '#content',
    data: {
      x: 0,
      y: 0
    },
    methods: {
      updateCoords: function(event){
      this.x = event.clientX;
      this.y = event.clientY;
     }
    }
  })
</script>
Run Code Online (Sandbox Code Playgroud)

如果未传递事件,则此功能不起作用。对我来说,我们会在这里传递一些东西是有道理的,因为 X 和 Y 坐标取决于事件的最后一个位置。但是这些数据是如何存储的呢?事件是否在其自身内跟踪和存储数据?

此外,如果我将特殊的 $event 变量传递给我的方法,似乎也没有区别。打电话...

  @mousemove="updateCoords($event)"
//is the same as 
  @mousemove="updateCoords()"
Run Code Online (Sandbox Code Playgroud)

视图会自动知道传入的事件参数是 $event 吗?还是 $event 在其他特定情况下使用很重要??

events arguments vue.js

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

从变量传递参数 - Python

我正在写一个python脚本。在脚本中,我编写了一个带有一些参数的函数,这些参数都具有默认值。同样在脚本中,我有元组列表,每个元组中的第一项是函数参数的名称,第二项是值。这是例如代码:

def f(a=0, b=0, c=0):
    print(a), print(b), print(c)

args = [('a', 12), ('c', -64)]
Run Code Online (Sandbox Code Playgroud)

当我调用该方法时,有什么方法可以将值 12 放入 'a' 参数中,并将值 -64 放入 'c' 参数中,而无需手动操作?(值 b 保持为 0)。

谢谢你的帮助!

python arguments function

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

按照课程 - 我刚刚在函数中看到了一个奇怪的参数用法

我正在观看 C# 课程,我刚刚在参数中看到了 bool 的奇怪用法。

我将展示它的屏幕截图:

在此处输入图片说明

这意味着什么?我以前从未见过这样的事情。

c# parameters arguments method-signature method-call

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

在 Lisp/Racket/Scheme 中,怎么可能有一个名为“list”的参数?

不是在 Lisp 中创建新列表list关键字,但在 Lisp 中可以调用一个参数list。我认为大多数编程语言(如 Java 或 C++)中的关键字不能用于参数 名称,Lisp 中是否有特殊原因可以使用?

lisp scheme arguments function-call racket

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

细绳 ”????” 在 Python 中转换为“数据”

在编写一个小的 Python 脚本时,我注意到当字符串"????"作为命令行参数传递时,它会"data"在程序执行期间转换为。现在,我不确定这是字符串还是其他类型的数据类型。考虑到搜索词,查找这方面的信息很棘手。

为什么会发生这种情况,这意味着什么?

python command-line arguments sentinel

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

va_arg 以 mac 上的第二个参数开头(clang++)

编码

TextureMeta(string tex_, int args_, const char* ...)
{
    va_list vl;
    va_start(vl, args_);
    for (int i = 0; i < args_; i++)
    {
        string img_(va_arg(vl, char*));
        cout << img_ << endl;
        images.push_back(img_);
    }
    va_end(vl);
}
Run Code Online (Sandbox Code Playgroud)

在 MSVC 上它工作正常,但在 MacOS 上生成的应用程序出现分段错误,我可以看到代码首先打印第二个参数,日志TextureMeta(this=0x000000010174d680, tex_="resource/skybox/mitsuumi", args_=6, (null)="resource/skybox/mitsuumi/right.jpg")显示,第一个 va 参数似乎成为函数参数并且无法迭代。我使用 CMake,生成器是默认的。

这是一个mac clang错误吗?或者上面的代码中是否有一些未定义的标准?

c++ parameters macos arguments clang

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

如何检测C++中函数的参数列表?

我正在设计一个接口,它接受一个用户定义的函数作为参数,然后在一个内置函数中执行,如下所示。

#include <stdio.h>
#include <vector>
using namespace std;

template <class USERDEF>
void builtin(USERDEF userdef){
    std::vector<int> vec = {1, 2, 3};
    if("parameter list is (vector<int>&)") 
        userdef(vec);
    else if("parameter list is (vector<int>::iterator, vector<int>::iterator)") 
        userdef(vec.begin(), vec.end());
    else 
        exit(-1);
}

void userdef1(vector<int> &vec){
    for(auto it=vec.begin(); it!=vec.end(); it++)
        printf("%d ", *it);
    printf("\n");
}

void userdef2(vector<int>::iterator begin, vector<int>::iterator end){
    for(auto it=begin; it!=end; it++)
        printf("%d ", *it);
    printf("\n");
}

int main(){
    builtin(userdef1);
    builtin(userdef2);
}
Run Code Online (Sandbox Code Playgroud)

在哪里,

  • 函数“builtin”接受用户定义的函数,并通过检测给定函数“userdef”的参数列表来传递参数。
  • 另外两个函数 'userdef1' 和 'userdef2' 用不同的参数列表做同样的事情。

我想知道的是“内置”函数中的“如何实现 if-else 语句”?

c++ parameters arguments parameter-passing

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

如何将参数传递给 make 规则?

假设我有一个使用 make 安装的 python 项目。我希望无需先安装即可运行该项目。所以我创建了这个 make 规则:

run:
    @echo "Running projectname"
    @PYTHONPATH=${PYTHONPATH}:$(abs_srcdir)/..; ./projectname
Run Code Online (Sandbox Code Playgroud)

Where./projectname运行一个简单的 python 脚本来设置和运行项目,但这在这里并不重要。像这样,我可以简单地make run在项目的根文件夹中执行来执行和测试我的应用程序,它工作得很好。现在,我想将一些命令行参数传递给程序。我试过了make run --help,它只是打印了make帮助文本。运行make run -- --help打印

run:
    @echo "Running projectname"
    @PYTHONPATH=${PYTHONPATH}:$(abs_srcdir)/..; ./projectname
Run Code Online (Sandbox Code Playgroud)

应用程序运行,在我退出后,make尝试执行一个 target --help

现在,我如何通过例如将--help参数传递给我的应用程序make

command-line arguments makefile sh command-line-arguments

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