一、中綴表示式(::)
中綴表示式的關鍵字就是::,下方**通過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 否則請把表示式轉換成字尾形式,再求出字尾表示式的值並輸出。注意 必須用棧操作,不能直接輸出表示式的值。輸入格式 第一行...