25
A
回答
28
参见The Arrow Operator在perlop得到:
“
->
” 是一个中缀引用操作,就像它是在C和C++。如果右侧是[...]
,{...}
或(...)
下标,则左侧必须分别对数组,哈希或子例程使用硬引用或符号引用。 (或者从技术上讲,如果它是一个数组或哈希引用被用于分配,则该位置能够保存一个硬引用。)请参见perlreftut和perlref。否则,右侧是一个方法名称或一个包含方法名称或子例程引用的简单标量变量,左侧必须是对象(有福的引用)或类名(也就是说,一个包名称)。见perlobj。
3
外@{}
部分是反引用 - 这意味着$m->links
是参考到一个数组,所以该操作员deferences它来指直接阵列,然后将其复制到@top_links
第8章'Camel Book'是了解参考资料的好地方,或者Perl文档的perlref部分。
->
箭头运算符是一个对象取消引用,在这种情况下获取$m
对象的links
成员。同样,骆驼书后面的章节详细介绍了Perl的面向对象支持。另请参阅Perl文档的perlobj部分。
12
一般而言,->
暗示取消引用。此语法来自C.
在您的示例中,它表示来自$m
中对象实例的方法调用:调用方法links
。这在对象的Modern Perl一章中有解释。件数perlsub,perlfaq7,perlobj,perltoot提供的细节。
一般的参考文献,search Stack Overflow;这是一个反复出现的话题。
0
Perl的箭头操作符具有一个其他用途:
讲座>方法调用子程序方法类,包
虽然它比您的代码示例完全不同。只是为了标题中的问题的完整性而包含它。
相关问题
- 1. Kotlin中的箭头(“ - >”)操作符有什么作用?
- 2. python中的三个箭头(“>>>”)是什么意思?
- 3. 在Java中,箭头运算符' - >'是做什么的?
- 4. 这行在Perl中有什么作用?
- 5. 用箭头填充带有箭头的svg路径作为头
- 6. 在OOP PHP什么使用箭头操作符 - >方法之后做?
- 7. 为什么箭头继承?
- 8. 我可以用什么来代替箭头运算符,` - >`?
- 9. OCaml中的箭头“ - >”的目的是什么?OCaml
- 10. 简单的php解释..箭头操作符有什么区别?
- 11. 箭头键在sqlplus中不起作用
- 12. 箭头键在Firefox中不起作用
- 13. - >运算符在Perl中做什么?
- 14. 计划:箭头 - >这是什么意思?
- 15. 冒号“:”和胖箭头“>”之间的区别是什么?
- 16. CSS盒除箭头外有箭头
- 17. 在TypeScript中的胖箭头函数之后,“void =()=> {}”的含义是什么?
- 18. 边缘目标箭头在Cytoscape.js中不工作> = 2.7.0
- 19. 系列中的多个箭头操作符如何在Perl中工作?
- 20. 允许在控制台菜单中使用箭头的Perl
- 21. 如何使用Net :: Telnet模块在Perl中发送箭头键?
- 22. 在perl中,箭头引用了还未定义的密钥?
- 23. javascript中的箭头操作
- 24. 这个Perl函数有什么作用?
- 25. Perl的grep和map有什么作用?
- 26. 崇高 - 如何触发箭头“>>”
- 27. 什么是双箭头功能?
- 28. Ctrl +箭头:什么算法或标准?
- 29. 如何使用 - >(箭头)运算符?
- 30. tsql!>操作符有什么作用?
倒数第二行有点误导。如果箭头右侧的标量是代码ref,那么左侧是什么都没有关系。使用`my $ say_array = sub {print'@ {$ _ [0]} \ n“};`然后您可以写出如[1,2,3] - > $ say_array;`这样的行来打印`1 2 3 ` – 2011-02-06 17:28:43