8.2.3通过句柄访问

函数可以通过使用@运算符的函数句柄进行抽象和引用. 例如

f = @plus;
f (2, 2)
⇒  4

相当于直接地调用plus (2, 2)。除了一般编程的抽象之外,函数句柄还可以通过向属性添加监听器或赋值预先存在的操作,在figure和graphic的回调方法中使用,例如以下示例:

function mydeletefcn (h, ~, msg)
  printf (msg);
endfunction
sombrero;
set (gcf, "deletefcn", {@mydeletefcn, "Bye!\n"});
close;

以上内容将打印出来"Bye!"在figure关闭(删除)时发送到终端。有许多graphic属性操作可以为其赋值回调函数,包括, buttondownfcn, windowscrollwheelfcn, createfcn, deletefcn, keypressfcn

请注意,@符号也在定义类函数(即方法)中发挥作用,但不是作为语法元素。相反,它以一个目录名开始,该目录名包含共享目录名的类的方法@符号。详见面向对象程序设计.

版权所有 © 2024 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号