[英]Not get point Ruby operator with dot
我熟悉 Ruby 運算符及其工作流程和用例,但在一個地方我感到困惑。 表達中。
3.**2+1
給出結果27
而不是3.**2
給出9
和
3**2+1
給出10
沒關系,但我對3.**2+1
我缺少的任何東西。 運營商在這里。
提前致謝!
ruby 中的運算符由方法支持。 所以3 ** 2
在功能上等同於“在3
上調用方法**
並將2
作為參數傳遞”。
您也可以直接調用這些方法( 1.+(2)
而不是1+2
),這就是那個點在這種情況下所做的。 由於運算符的優先級與方法調用不同,因此您會看到這些不同的結果。
3.** 2 + 1 == 3.**(2+1)
# but
3 ** 2 + 1 == (3 ** 2) + 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.