回答
這只是意味着「字符」,如在?x
爲「x字符」。在1.9之前的版本中,這是一個更大的交易。現在它主要是一個時代錯誤。
紅寶石1.9+:
?x
# => "x"
紅寶石1.8.7和先前:
?x
# => 120
這類似於'x'
用C如何爲單個字符,其中"x"
是字符串。
這解釋了爲什麼它只適用於單個字符。爲什麼它改變了Ruby 1.9?另外,我應該如何參考它?它看起來更像是一個語法的東西而不是一個操作符,所以我可以理解它是否確實沒有名字,但是使用Google搜索?並沒有真正讓我走得很遠...... – user3334690 2015-01-26 20:09:08
@ user3334690就我個人而言,我只是將其稱爲「字符文字」。 – Ajedi32 2015-01-26 20:15:36
我相信這是Ruby早期版本中的一個效率讓步,你必須記得,可以追溯到20世紀90年代中期,當時計算機的命令速度較慢。創建字符串以表示單個字符的開銷對於某些任務而言過高。現在這是一個非問題,因此轉換。 – tadman 2015-01-26 20:26:02
- 1. 什麼是char *?
- 2. 什麼是char * const *?
- 3. 什麼(char *)0是什麼意思?
- 4. 「char(&(...))[2]」是什麼意思?
- 5. char []中的「length」是什麼?
- 6. char * argv []是什麼意思?
- 7. 什麼是char * const argv []?
- 8. 'char x []'是什麼意思?
- 9. sizeof(char *)是做什麼的?
- 10. char&*是什麼意思?
- 11. 什麼是*((char *)ptr + 4))?
- 12. 什麼是reader.getPageRotation()in iTextSharp.text.pdf
- 13. Renderscript,`in`參數是什麼?
- 14. 是什麼意思「!」 in require.js
- 15. 什麼是PREMERGED dll in .net
- 16. in Rails 3什麼是「current_user」?
- 17. 什麼是.css in css?
- 18. 什麼是/ [Cc] at/in perl?
- 19. 什麼是res:// */in .net?
- 20. 什麼是ios :: in | ios :: out?
- 21. in()...它是做什麼的?
- 22. Char [] in BCryptPasswordEncoder
- 23. cpp:char(-1)in Java-char
- 24. (char)0和'\ 0'之間有什麼區別? in C
- 25. (char pointer和int added)和循環是什麼?什麼是c?
- 26. Java爲什麼char = char^char與char^= char不同?
- 27. Casting void * to char * in C
- 28. (char *)x或(void *)z是什麼意思?
- 29. Java中char(0)的含義是什麼?
- 30. char * derp [20]是什麼意思?
上下文很重要。通常,您只需執行「x」或類似的操作以獲得清晰度。 ''x'只是一個「高爾夫」的方式來寫「x」 – Brennan 2015-01-26 19:58:01
@Brennan是的,?x是一個小於「x」的字符,這就解釋了爲什麼它可以用在代碼高爾夫球場中。 – user3334690 2015-01-26 19:59:14