scala 中綴表示式和中置操作符

2021-10-09 11:49:53 字數 591 閱讀 6562

一、中綴表示式(::)

中綴表示式的關鍵字就是::,下方**通過match+::進行模式匹配,只有當第乙個case條件中的size-1個(即one,two,three,four全部匹配成功)匹配成功,才會執行第乙個case語句,並執行println**,輸出第

一、第四以及rest處的資料,不然走第二條case語句,輸出nihao

list(1

,2,3

,4,5

) match

結果:

(1,4,list(5))

二、中置操作符

def +

(mc:myclass)

=val mc1 =

newmyclass(10

)val mc2 =

newmyclass(20

)//mc1.+(mc2)

mc1 + mc2//中置操作符(去點和括號)類似於+重定義

合理運用中置操作符可以簡化**,但是會降低**的可讀性,給其他人的閱讀帶來難度,慎用!(比如此處的『』+『』是乙個函式名稱,執行的是乘法操作,直接簡寫成mc1+mc2很可能理解成加法操作)

中綴表示式和字尾表示式

一 中綴表示式如何轉成字尾表示式?中綴表示式 符合人類閱讀 字尾表示式 符合計算機運算 1 遍歷中綴表示式中的數字和符號 2 對於數字 直接輸出 3 對於符號 左括號 進棧 運算符號 與棧頂符號進行優先順序比較 若棧頂符號優先順序低 此符號進棧 預設棧頂若是左括號,則左括號優先順序最低 若棧頂符號優...

中綴表示式

實現 直接計算中綴表示式 不含括號 include include includeusing namespace std 運算符號優先順序比較 加減為低階運算,乘除是高階運算 先算乘除 return 1 means can calculate,else can not.int getpriority...

中綴表示式

輸入乙個中綴表示式 由 0 9組成的運算數 加 減 乘 除 四種運算子 左右小括號組成。注意 也可作為負數的標誌,表示式以 作為結束符 判斷表示式是否合法,如果不合法,請輸出 no 否則請把表示式轉換成字尾形式,再求出字尾表示式的值並輸出。注意 必須用棧操作,不能直接輸出表示式的值。輸入格式 第一行...