我可以将带有参数的子例程存储在哈希中吗?

克里斯·道尔

我正在perl / tk中构建一个项目,该项目将允许启动计时器来跟踪项目工作。我对于如何将按钮的命令存储为子例程但带有参数而停顿了。由于带有参数的子例程正在执行,因此结果将存储为命令。

我如何将带有参数的子例程存储在哈希中,以便仅在按下按钮时才执行。

#create buttons but dont pack them on the frame yet
my $info    = $mw->Button( -text => "Good",   -command => \&info_popup );
my $warning = $mw->Button( -text => "Caution", -command => \&warning_popup );
my $error   = $mw->Button( -text => "Bad",   -command => \&error_popup );
my $close   = $mw->Button( -text => "Close",   -command => \&close );
my $project1 = $mw->Button( -text => "project1", -command => \&start_timer("project1"));
my $project2 = $mw->Button( -text => "project2", -command => \&start_timer("project2"));

sub start_timer {
    my $project = shift;
    print "starting the timer for: $project\n";
}

我怀疑我尝试的事情将无法实现,因此将对如何实现适合此标准的解决方案提供帮助,即按按钮将调用具有该按钮特定参数的子例程。

克里斯·道尔

使用TK时,oreilly袖珍指南说

Perl / Tk回调回调是标量,可以是代码引用,也可以是方法名称(字符串)。这两种样式均可通过传递数组引用,第一个元素为代码引用或方法名以及后续元素子例程参数来获取参数。\&subroutine [\&subroutine?,args?] sub {...} [sub {...}?,args?]'methodName'['methodName'?,args?]请注意,绑定回调隐式传递给绑定的小部件引用作为参数列表的第一个参数。有关相关信息,请参阅“绑定和虚拟事件”部分。

我使用下面的代码对此进行了测试,它可以按预期工作

#create buttons but dont pack them on the frame yet
my $info    = $mw->Button( -text => "Good",   -command => \&info_popup );
my $warning = $mw->Button( -text => "Caution", -command => \&warning_popup );
my $error   = $mw->Button( -text => "Bad",   -command => \&error_popup );
my $close   = $mw->Button( -text => "Close",   -command => \&close );
my $project1 = $mw->Button( -text => "project1", -command => [\&start_timer,"project1"]);
my $project2 = $mw->Button( -text => "project2", -command => [\&start_timer,"project2"]);

sub start_timer {
    my $project = shift;
    print "starting the timer for: $project\n";
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以将带有属性的对象文字传递给 Angular 模板中的子级吗?

来自分类Dev

Laravel-我可以将带有apiResource的参数传递给控制器中的索引函数吗?

来自分类Dev

我可以将带有预定义参数的参数列表动态传递给python函数吗?

来自分类Dev

带有可选块参数的子例程

来自分类Dev

mainfunction的参数和变量在子例程中可以安全使用吗?

来自分类Dev

如何或可以将带有参数作为参数的函数传递给lua中的函数?

来自分类Dev

您能否将带有参数的函数存储在列表中,并稍后在Python中调用它们?

来自分类Dev

我可以从带有参数的exe运行DLL吗?

来自分类Dev

将带有参数的函数传递给子组件,并将返回值发送回父组件,以在reactjs中存储为父组件状态

来自分类Dev

如何将带有COUNT参数的SRANDMEMBER的结果存储在SET中?

来自分类Dev

如何将带有COUNT参数的SRANDMEMBER的结果存储在SET中?

来自分类Dev

如何将带有参数的函数的返回值存储在变量中?

来自分类Dev

可以将哈希存储在cookie中吗?

来自分类Dev

我可以将带有DMI总线的处理器放到带有QPI总线的主板上吗?

来自分类Dev

React Native 可以将带有其他元素的视图放在 ScrollView 中吗

来自分类Dev

我可以将带有空格分隔符的字符串字段转换为mongoDB聚合中的数组吗

来自分类Dev

在Spark Streaming中,我们可以将数据(哈希图)存储在Executor内存中吗

来自分类Dev

有没有一种方法可以将带有任何类型和数量的参数的void函数作为方法的参数传递并将其存储在数据成员中?(C ++)

来自分类Dev

我可以将响应对象存储在哈希表中吗?

来自分类Dev

我可以通过某种方式检索存储在Java中的哈希集中的密钥吗?

来自分类Dev

我可以将对象构造函数存储到数组或哈希表中吗?

来自分类Dev

我可以从该例程中获取Null指针异常吗?

来自分类Dev

我可以在存储库的子文件夹中拥有GitHub Pages index.html吗?

来自分类Dev

我们可以在python程序中多次使用带有某些参数的用户定义函数吗?

来自分类Dev

获取子例程中数组内容的哈希

来自分类Dev

将带有图片或SKAction的NSArray存储在内存中

来自分类Dev

将带有SubTree的JSON存储到PHP变量中

来自分类Dev

如何在Perl哈希中存储和使用变量和子例程名称?

来自分类Dev

在R中,有一种方法可以将带有任意参数的pivot_longer用作cols规范

Related 相关文章

  1. 1

    我可以将带有属性的对象文字传递给 Angular 模板中的子级吗?

  2. 2

    Laravel-我可以将带有apiResource的参数传递给控制器中的索引函数吗?

  3. 3

    我可以将带有预定义参数的参数列表动态传递给python函数吗?

  4. 4

    带有可选块参数的子例程

  5. 5

    mainfunction的参数和变量在子例程中可以安全使用吗?

  6. 6

    如何或可以将带有参数作为参数的函数传递给lua中的函数?

  7. 7

    您能否将带有参数的函数存储在列表中,并稍后在Python中调用它们?

  8. 8

    我可以从带有参数的exe运行DLL吗?

  9. 9

    将带有参数的函数传递给子组件,并将返回值发送回父组件,以在reactjs中存储为父组件状态

  10. 10

    如何将带有COUNT参数的SRANDMEMBER的结果存储在SET中?

  11. 11

    如何将带有COUNT参数的SRANDMEMBER的结果存储在SET中?

  12. 12

    如何将带有参数的函数的返回值存储在变量中?

  13. 13

    可以将哈希存储在cookie中吗?

  14. 14

    我可以将带有DMI总线的处理器放到带有QPI总线的主板上吗?

  15. 15

    React Native 可以将带有其他元素的视图放在 ScrollView 中吗

  16. 16

    我可以将带有空格分隔符的字符串字段转换为mongoDB聚合中的数组吗

  17. 17

    在Spark Streaming中,我们可以将数据(哈希图)存储在Executor内存中吗

  18. 18

    有没有一种方法可以将带有任何类型和数量的参数的void函数作为方法的参数传递并将其存储在数据成员中?(C ++)

  19. 19

    我可以将响应对象存储在哈希表中吗?

  20. 20

    我可以通过某种方式检索存储在Java中的哈希集中的密钥吗?

  21. 21

    我可以将对象构造函数存储到数组或哈希表中吗?

  22. 22

    我可以从该例程中获取Null指针异常吗?

  23. 23

    我可以在存储库的子文件夹中拥有GitHub Pages index.html吗?

  24. 24

    我们可以在python程序中多次使用带有某些参数的用户定义函数吗?

  25. 25

    获取子例程中数组内容的哈希

  26. 26

    将带有图片或SKAction的NSArray存储在内存中

  27. 27

    将带有SubTree的JSON存储到PHP变量中

  28. 28

    如何在Perl哈希中存储和使用变量和子例程名称?

  29. 29

    在R中,有一种方法可以将带有任意参数的pivot_longer用作cols规范

热门标签

归档