看板 Soft_Job 關於我們 聯絡資訊
: ----------------------------- : 還有那篇文章舉的,在PEP 635 裡的例子: : ----------------------------- 話說我只是想分享一下我前一陣子在 twitter 上面看到的討論 簡短的來說就是某 PL 強者認真的研究了一下 PEP 622,然後提出了質疑。 (對,我知道不是 635 但我只是要分享這件有趣的事情) 先附上原文:https://thautwarm.github.io/Site-32/Design/PEP622-1.html TL;DR 是這樣的 a = 1 match [2, 3]: case [0, 1]: ... case [a, 2]: ... case _: print(a) 你們覺得會印出什麼? 然後我剛剛瞄過 PEP 635,有看到 "This PEP provides the technical specification for the match statement. It replaces PEP 622" 但我沒看到 635 對這件事情有什麼對策,不過老實說我也只是路過~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.114.131.3 (法國) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1617036936.A.230.html
yyhsiu: 原本應該要是 1,但是試圖 match 第二個的時候被改成2了? 03/30 10:56
brianhsu: 比較合理的行為,應該是 case 裡的 a,scope 應該只在 c 03/30 21:23
brianhsu: ase 接的那個 block ,而且會把外面的 a shadow 掉? 03/30 21:23
electgpro: 樓上兩位有 get 到重點。讓我們坐看會發生什麼事 03/30 21:25
brianhsu: 至少 Scala 是這樣處理的 XD 03/30 21:26
linlin110: Python的block就沒有作Scope 這沒有好的解法 04/01 18:46