如何将另一个函数返回的函数分配给函数变量?结果而不是生成函数本身

R M。

一个函数正在返回一个匿名函数。我想将结果分配给一个变量。但是,编译器认为我正在尝试分配函数,而不是函数的结果。我该如何解决?

program Project9;

{$APPTYPE CONSOLE}

type
  TMyEvent = reference to function: string;

var
  v1: TMyEvent;

function GetHandler: TMyEvent;
begin
  Result := function: string
            begin
              Result := '';
            end;
end;

begin
  v1 := GetHandler;  // <- Incompatible types: 'TMyEvent' and 'Procedure'
end.

注意:我确实有一种解决方法,但我希望可以在不引入包装器的情况下解决此问题:

program Project9;

{$APPTYPE CONSOLE}

type
  TMyEvent = reference to function: string;

  TWrapper = record
    FHandler: TMyEvent;
  end;

var
  v1: TMyEvent;

function GetHandler: TWrapper;
begin
  Result.FHandler := function: string
                     begin
                       Result := '';
                     end;
end;

begin
  v1 := GetHandler.FHandler;  // <- works

编辑:这不是特定于匿名函数或任何特殊类型的函数:对于返回函数的任何函数都是实际的,甚至在第一个Delphi到达之前,它在Turbo Pascal中都是相同的。

奥古斯丁·塞弗特

如果您的匿名方法/函数是无参数的,则必须使用()进行赋值;

v1 := GetHandler();

如果没有括号,Delphi将尝试将函数分配给变量。括号告诉它调用函数并将函数结果分配给变量。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将一个函数返回的值分配给另一个函数

来自分类Dev

如何将函数 func 作为参数传递给另一个函数,然后将此参数分配给委托变量?

来自分类Dev

如何将绑定的对象函数分配给另一个对象属性?

来自分类Dev

如何将函数分配给 javascript 变量

来自分类Dev

将$ @分配给Shell函数中的另一个变量

来自分类Dev

如何将函数分配给函数指针

来自分类Dev

无法将返回的函数分配给主变量

来自分类Dev

将从函数返回的Rvalue分配给另一个Rvalue

来自分类Dev

将函数的返回向量分配给另一个向量时出现分段错误

来自分类Dev

C ++将函数指针分配给另一个

来自分类Dev

将函数的结果分配给变量?

来自分类Dev

在tkinter中我如何将入口函数分配给变量

来自分类Dev

如何将groovy函数分配给变量并调用它?

来自分类Dev

如何将数据从pandas groupby函数分配给变量?

来自分类Dev

如何将具有可变数量参数的函数分配给单个变量?

来自分类Dev

我如何将条目文本框的结果分配给一个变量,然后传递给后端的函数?

来自分类Dev

将变量分配给函数返回?

来自分类Dev

将多个函数分配给 onclick 只会触发最后一个

来自分类Dev

使用 Jquery 将多个函数分配给同一个类/元素?

来自分类Dev

如何将函数的结果用作C中另一个函数的参数?

来自分类Dev

在函数中获取变量并将其分配给其范围之外的另一个变量

来自分类Dev

如何将另一个函数作为变量传递给R中的函数?

来自分类Dev

如何将变量从另一个函数传递到索引函数中的视图

来自分类Dev

将非匿名函数分配给变量

来自分类Dev

JavaScript将命名函数分配给变量

来自分类Dev

我可以将函数分配给变量吗?

来自分类Dev

Swift-将重载函数分配给变量

来自分类Dev

以快速的奇怪行为将函数分配给变量

来自分类Dev

JS-将函数分配给变量

Related 相关文章

  1. 1

    如何将一个函数返回的值分配给另一个函数

  2. 2

    如何将函数 func 作为参数传递给另一个函数,然后将此参数分配给委托变量?

  3. 3

    如何将绑定的对象函数分配给另一个对象属性?

  4. 4

    如何将函数分配给 javascript 变量

  5. 5

    将$ @分配给Shell函数中的另一个变量

  6. 6

    如何将函数分配给函数指针

  7. 7

    无法将返回的函数分配给主变量

  8. 8

    将从函数返回的Rvalue分配给另一个Rvalue

  9. 9

    将函数的返回向量分配给另一个向量时出现分段错误

  10. 10

    C ++将函数指针分配给另一个

  11. 11

    将函数的结果分配给变量?

  12. 12

    在tkinter中我如何将入口函数分配给变量

  13. 13

    如何将groovy函数分配给变量并调用它?

  14. 14

    如何将数据从pandas groupby函数分配给变量?

  15. 15

    如何将具有可变数量参数的函数分配给单个变量?

  16. 16

    我如何将条目文本框的结果分配给一个变量,然后传递给后端的函数?

  17. 17

    将变量分配给函数返回?

  18. 18

    将多个函数分配给 onclick 只会触发最后一个

  19. 19

    使用 Jquery 将多个函数分配给同一个类/元素?

  20. 20

    如何将函数的结果用作C中另一个函数的参数?

  21. 21

    在函数中获取变量并将其分配给其范围之外的另一个变量

  22. 22

    如何将另一个函数作为变量传递给R中的函数?

  23. 23

    如何将变量从另一个函数传递到索引函数中的视图

  24. 24

    将非匿名函数分配给变量

  25. 25

    JavaScript将命名函数分配给变量

  26. 26

    我可以将函数分配给变量吗?

  27. 27

    Swift-将重载函数分配给变量

  28. 28

    以快速的奇怪行为将函数分配给变量

  29. 29

    JS-将函数分配给变量

热门标签

归档