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