相关疑难解决方法(0)

如何用简单的英语解释回调?它们与从另一个函数调用一个函数有什么不同?

如何用简单的英语解释回调?它们与从调用函数中获取某些上下文的另一个函数调用一个函数有什么不同?如何向新手程序员解释他们的权力?

language-agnostic terminology function callback

334
推荐指数
20
解决办法
16万
查看次数

如何将参数传递给Tkinter中的Button命令?

假设我Button在Python中使用Tkinter进行了以下操作:

import Tkinter as Tk
win = Tk.Toplevel()
frame = Tk.Frame(master=win).grid(row=1, column=1)
button = Tk.Button(master=frame, text='press', command=action)
Run Code Online (Sandbox Code Playgroud)

action当我按下按钮时调用该方法,但是如果我想将一些参数传递给方法action怎么办?

我尝试过以下代码:

button = Tk.Button(master=frame, text='press', command=action(someNumber))
Run Code Online (Sandbox Code Playgroud)

这只是立即调用方法,按下按钮什么都不做.

python arguments tkinter button python-3.x

143
推荐指数
7
解决办法
22万
查看次数

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万
查看次数

为什么在声明时执行Button参数"command"?

我的代码是:

from Tkinter import *

admin = Tk()
def button(an):
    print an
    print 'het'

b = Button(admin, text='as', command=button('hey'))
b.pack()
mainloop()
Run Code Online (Sandbox Code Playgroud)

按钮不起作用,在没有我的命令的情况下打印'hey'和'het'一次,然后,当我按下按钮时没有任何反应.

python tkinter

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

什么是java中的回调

可能重复:
什么是回调函数?

我已经阅读了wikipedia对回调的定义,但我仍然没有得到它.谁能解释一下回调是什么,特别是以下几行

在计算机编程中,回调是对可执行代码或一段可执行代码的引用,它作为参数传递给其他代码.这允许较低级别的软件层调用在较高级别层中定义的子例程(或函数).

java

52
推荐指数
6
解决办法
11万
查看次数

并行Python:什么是回调?

并行Python中,它在提交函数中有一些叫做回调(文档)的东西,但它似乎没有解释得太好.我几天前在他们的论坛上发帖,我没有收到回复.有人会解释回调是什么以及它用于什么?

谢谢.

python callback parallel-python

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

什么是Java中的回调接口?

接口SetObserver的此代码段取自Effective Java(避免过多的同步项67)

public interface SetObserver<E> {
// Invoked when an element is added to the observable set
void added(ObservableSet<E> set, E element);
}
Run Code Online (Sandbox Code Playgroud)

SetObserver传递给addObserver()removeObserver方法下面给出:

// Broken - invokes alien method from synchronized block!
public class ObservableSet<E> extends ForwardingSet<E> {
  public ObservableSet(Set<E> set) {
    super(set);
  }

  private final List<SetObserver<E>> observers =
      new ArrayList<SetObserver<E>>();

  public void addObserver(SetObserver<E> observer) {
    synchronized (observers) {
      observers.add(observer);
    }
  }



  public boolean removeObserver(SetObserver<E> observer) {
    synchronized (observers) {
      return observers.remove(observer); …
Run Code Online (Sandbox Code Playgroud)

java

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

MongoDB Java驱动程序:MongoCore驱动程序与MongoDB驱动程序与MongoDB异步驱动程序

MongoDB Java驱动程序有三种不同的驱动程序选项:

  1. 核心司机
  2. MongoDB驱动程序
  3. MongoDB异步驱动程序

司机介绍页面给他们每个人的简要介绍,但没有进一步的解释,提供关于何时应该使用它们.我的问题:请你澄清一下使用它们的案例是什么?什么时候我应该更喜欢一个,当我必须/必须使用特定的驱动程序选项?

java mongodb mongodb-java mongodb-query

5
推荐指数
1
解决办法
2908
查看次数

为什么使用回调而不是正常的函数调用?

我试图理解回调,并且确实得到了这个想法,但是不明白为什么它真的需要.

具体来说,它通过正常的函数调用提供了哪些额外的好处?我在看这里接受的答案:C中的"回调"是什么?它们是如何实现的?

我在下面重做同样的事情,只是没有使用函数指针.这有什么不同?

void populate_array(int *array, size_t arraySize)
{
   for (size_t i=0; i<arraySize; i++)
      array[i] = getNextRandomValue();
}

int getNextRandomValue(void)
{
   return rand();
}

int main(void)
{
   int myarray[10];
   populate_array(myarray, 10);
   ...
}
Run Code Online (Sandbox Code Playgroud)

如果低层软件需要调用在更高层定义的函数,这是否有益?

c function-pointers callback

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

Node.js承诺,异步或只是回调

你能否向初学者解释"承诺","异步"和"回调"之间的区别.这些术语如何相互关联?这些是一回事吗?不同的东西?我什么时候使用哪个?

asynchronous callback node.js promise

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