6
假設我有一個密封的箱體類層次結構如下所示:壓扁密封的情況下的類層次
sealed trait Expr
case class Const(val: Double) extends Expr
case class Plus(x: Expr, y: Expr) extends Expr
case class Times(x: Expr, y: Expr) extends Expr
- 是否可以自動轉換表情如
Plus(1,Plus(2,3))
到HLists的HList? - 即使在某個函數
f(e: Expr)
內,即在編譯時未知e的具體結構時,該轉換是否還能工作?
......當編譯時e的特定結構未知時,由於「Expr」是「密封特徵」,因此編譯器在編譯時知道所有的子類,窮舉匹配。我不明白這個評論/問題 - 你能解釋一下嗎? –
我的意思是:從f裏面,它不是明確知道它是用f(Plus(1,x))還是f(Times(a,b))調用的 - 是從內部將表達式變成HList的障礙F? – NietzscheanAI