簡體   English   中英

沒有得到點 Ruby 帶點的運算符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM