我正在教我自己的Perl過程。我在Eclipse中使用EPIC調試器。每當我有一個var只使用一次在一個子我得到這個警告:
印刷錯誤通常顯示爲唯一的變量名稱。 如果你有一個很好的理由擁有一個獨特的名字,那麼只需再次提及它 以抑制消息。爲此提供的C<our>
聲明爲 。
什麼是C<our>
?標準搜索沒有結果。Perl:究竟是什麼C <our>?
6
A
回答
11
至於可能已經讓你感到困惑
C<>
部分,它看起來像EPIC了一個文本in POD format和印刷生的,而不是從POD渲染成一個格式化的文本。C<our>
POD語法的意思是「打印文本」我們的'格式化爲代碼',通常意味着單間隔字體。這與您使用自己的問題的StackOverflow's`our`
backtick-surrounded format command類似。本身來自Perl的
diagnostics
模塊,提供否則略帶神祕的Perl警告擴展的解釋(在這種情況下,「名稱‘%S ::%s’時只能使用一次:可能錯字」)的錯誤。事實上,從使您感到困惑的POD格式來看,EPIC可能使用了source POD from which the above-linked "perldiag" document was generated。如果你問
our
呢,你應該閱讀perldoc -f our - 這是創建一個別名爲有效在給定範圍內的全局變量(見tchrist對細節asnwer)的方式。就本例中的Google搜索技術而言,當您專門搜索您期望成爲Perl關鍵字的東西時,它總是向Google支付「perldoc someKeyword」的費用。
2
這是一個Perl::Critic
消息,提示您可以使用our $var;
作爲變量定義:-),以便描述原因。
5
our
是一個詞彙範圍的全局變量的別名。
相關問題
- 1. #!perl究竟做了什麼?
- 2. C++究竟是什麼新<datatype>(<value>)呢?
- 3. C++中的R值究竟是什麼?
- 4. C++:究竟是什麼「:」在這裏做?
- 5. C++模塊究竟是什麼?
- 6. 「句柄」究竟是什麼?
- 7. getGlobalVisibleRect()究竟是什麼?
- 8. Werkzeug究竟是什麼?
- 9. 究竟是什麼@ ViewDebug.ExportedProperty?
- 10. .parentNode究竟是什麼?
- 11. Heroku究竟是什麼?
- 12. session_hash究竟是什麼?
- 13. 究竟是什麼awakeFromNib?
- 14. 究竟是什麼任務
- 15. cout/cin究竟是什麼?
- 16. SKEmitterNode particleLifetime究竟是什麼?
- 17. 代表究竟是什麼?
- 18. 究竟是什麼情景
- 19. 究竟是什麼php.ini memory_limit?
- 20. 資源究竟是什麼?
- 21. App Pool究竟是什麼?
- 22. Erlang OTP究竟是什麼?
- 23. NoSQL究竟是什麼?
- 24. 雅典究竟是什麼?
- 25. ContextStaticAttribute究竟是什麼?
- 26. 「OAuth Provider」究竟是什麼?
- 27. 究竟是什麼插座
- 28. targetSdkVersion究竟是什麼?
- 29. CGContextRef究竟是什麼?
- 30. cacert.pem究竟是什麼?
當您說「標準搜索沒有結果」時,您是否嘗試輸入[perldoc -f我們](http://perldoc.perl.org/functions/our.html)? – Ether 2011-01-25 19:42:42
@其他 - 不是每個人都知道(甚至有權訪問)perldoc命令行。大多數人只是谷歌。 – DVK 2011-01-25 19:57:55
@Cooter =>在向變量聲明中添加`our`可能會抑制警告,您得到它的原因是因爲該變量在您的程序中只曾使用過一次。除非您使用符號引用或直接符號表訪問來玩遊戲,否則這可能是一個錯誤(您在學習該語言的基礎知識時不應該這麼做)。你能發佈生成警告的代碼塊嗎? – 2011-01-25 21:53:15