在Perl中,可以說我在變量中有字母A,名稱爲$character
,我希望它變成B,我該怎麼做? $character
也可以是數字(0-8),我想這兩種方法的工作方式? (類似於二進制轉換,但不完全確定它是否是這樣的)。提前致謝。Perl上去了一個角色?
2
A
回答
8
增量運算符可能是您想要的。但是,確保你想要邊界行爲。例如:
my $character = 'Z';
print ++$character;
產地:
AA
這就是 「隨身帶」,從http://perldoc.perl.org/perlop.html#Auto-increment-and-Auto-decrement。
7
簡單的增量應該做你想要什麼:
my $character = "A";
$character++;
從perl-doc:
自動遞增經營者有一點點額外的內置魔法吧。如果 您增加了一個數字變量,或者在數字上下文中曾經使用過 ,您會得到一個正常增量。但是,如果 變量自設置後僅在字符串上下文中使用,並且 的值不是空字符串,並且與 /^ a-zA-Z * 0-9 * \ z/,增量作爲一個字符串完成,保留每個 字符在其範圍內,帶進位
0
只需添加到其他答覆:
注意,如果有問題的變量從未在數字語境中神奇的自動增量才起作用。因此:
perl -e '$x = "A"; ++$x; print $x' # prints "B"
但是:
perl -e '$x = "A"; $x + 0; ++$x; print $x' # prints "1"
要保證始終得到神奇的自動增量,應該字符串化變量明確事先:
perl -e '$x = "A"; $x + 0; $x = "$x"; ++$x; print $x' # prints "B"
它可能會跳過這如果你知道你正在增加的變量的歷史記錄,並且可以驗證它從未在數字上下文中使用過。
玩魔術可能會很棘手!
相關問題
- 1. 角色去了哪裏?
- 2. 瞭解角色
- 3. 角色了request.setAttribute JSP
- 4. 瞭解EC2上IAM角色的概念
- 5. 失去了一個WinForm
- 6. 失去了一個git commit
- 7. 我失去了一個工具欄,它去了哪裏?
- 8. Windows Azure:一個或多個角色的啓動角色失敗
- 9. Oracle:誰創建了角色?
- 10. .htaccess - 從網址去除角色'%26'
- 11. 在python中去角色的字符
- 12. Windows Azure Web角色 - RoleEnvrironment.Changing在哪裏去?
- 13. 如何在另一個角色中包含另一個角色的任務?
- 14. 如何在drupal中從一個角色升級到另一個角色?
- 15. 設計:登錄到另一個角色時自動註銷一個角色
- 16. 從Web角色發佈到另一個Web角色Windows Azure
- 17. sbcl(和clisp):何時一個角色不是角色? (使用defconstant)
- 18. PHP顏色代碼去了aptana 3?
- 19. Ansible:swarm角色還是兩個角色?
- 20. 多個角色
- 21. 異常失去了一個線程
- 22. 哪裏有ViewEngines.DefaultEngine去了一個asp.net MVC?
- 23. mysql_fetch_assoc失去了一個價值
- 24. Symfony2 - 用戶在一段時間後失去IS_AUTHENTICATED_FULLY角色
- 25. isAllowed爲單個角色(不角色角色繼承)
- 26. Sencha失去了上下文
- 27. 瞭解Perl的一個班輪
- 28. 在單個Azure雲服務上部署多個Web角色和輔助角色
- 29. 如何讓我的程序打印出每個角色爲「角色#1 :(角色),角色#2 :(角色)等」?
- 30. 添加或減去一個角度達到一個角度的最短路徑
完美,非常感謝! – Grigor 2012-07-16 03:28:30
除了關於進位的警告外,這與@ perreal的相同。所以我很困惑,這一個工作,其他沒有? – 2012-07-16 03:29:57
@Mark Reed,可能是因爲他使用perreal的代碼時輸出了'$ character ++'而不是'$ character'的結果。很難說清楚,因爲他沒有提供他實際得到的信息或他實際使用的代碼。 – ikegami 2012-07-16 03:35:43