我知道,通過使用%{x}
而不是#{x}
來調用字符串內的變量,將相同的格式應用於多個變量。有人可以詳細說明嗎?Ruby:%{x}與#{x}?
0
A
回答
1
小自我解釋實施例:
2.1.1 :009 > x=10
=> 10
2.1.1 :010 > "num is #{x}"
=> "num is 10"
2.1.1 :011 > "num is %{x}"
=> "num is %{x}"
2.1.1 :012 >
#{x}
是變種x
在字符串內的內插;這是Ruby中方便的構造來替換字符串concat。在這裏,Ruby在我們傳遞的對象中執行.to_s
方法。這裏x
; x.to_s
在被連接之前被調用。
對於%{x}
這個構造用於在Rails中實現的I18n
。在調用翻譯方法時設置值x
.t(:some_symbol, x: some_value)
0
%{}與字符串的%方法一起使用,在這種情況下,它使用散列作爲參數。
h = {x: "three", y: "Hi"}
p "%{y}, num is %{x}." % h # => "Hi, num is three."
相關問題
- 1. propertyIsEnumerable(x)與x在
- 2. Ruby中的「return x if x」的速記
- 3. Ruby開發環境(OS X與Ubuntu)
- 4. Z3 python將x ** 2與x * x不同?
- 5. 批量更新與IN(x,x,x)
- 6. Ruby:您可以覆蓋「X」「x」「X」#=>「XxX」
- 7. vgetq_lane_u64(x,0)與vget_low_u64(x)
- 8. Convert.ToInt32(x)與(int)相同x
- 9. MySQL INT(x)與INT(x + 1)
- 10. 的Javascript:obj.fn()與X = obj.fn; X()
- 11. AngularJS:`{{x +','+ y}}與`{{x}},{{y}}`
- 12. X ||Ÿ與mapply(函數(X,Y)X || Y,X,Y)在[R]
- 13. Java與C浮點:「x * x」與「pow(x,2)」不同?
- 14. Ruby RestClient Openssl錯誤OS X
- 15. Ruby語法:can x('foo',y:'bar',z:'baz')與x('foo',@yz)的區別?
- 16. Centos與Plesk11.x
- 17. 與osclass 3.3.x
- 18. 與X-包
- 19. 用x:與MvvmCross
- 20. VIM與OS X
- 21. Prolog X = f(X)。 (X)
- 22. 「#define STR(x)#x」和「#define STR(x)VAL(x)」與「#define VAL(x)#x」之間的區別是什麼?
- 23. float x []與float [] x有什麼區別?
- 24. 使用callable(x)與hasattr(x,「__call__」)
- 25. 如果更換(X)的foreach()與Foreach.Where(X)
- 26. jQuery中的removeAttr(x)與attr(x,'')
- 27. x ++與++ x有什麼不同?
- 28. 表示值(x,y)與x._1,y._1
- 29. Zend-Framework 1.x與Doctrine 2.x
- 30. C++:2 + x + 1與3 + x相同嗎?
您能否提供使用'%{x}'和'#{x}'的上下文。這將有助於回答你的問題。 –