scala上下界問題

2021-08-08 05:29:11 字數 1219 閱讀 5099

今天看學習scala上下界,發現在理解下界 [>:] 這個有一點點問題,記錄一下。

object

lowerbound

extends

val first = new ebook("hello")

val second = new pbook("***** book")

val p1: pair1[book] = new pair1(first, second)

println(p1)

//scala> val p1 = new pair1(first,second)

//p1: pair1[book] = name--hello---name--***** book

//ebook,pbook,最終得到的類是pair1[book]

val newfirst = new book("generic pbook")

val p2 = p1.replacefirst(newfirst)

//p2: pair1[book] = name--generic pbook---name--***** book

println(p2)

/* 下面可以編譯通過,p1:pair1[book], p1.replacefirst(),可知t為book,r>:t,由此可知r至少為book型別,

而傳入引數為weirdbook,所以共同基類就是book,推測r為book型別,replacefirst[book>:book](weirdfirst:book)

scala> val list = list(1, 2, 3)

list: list[int] = list(1, 2, 3)

scala> val newlist = "hello" :: list

newlist: list[any] = list(hello, 1, 2, 3)*/

val weirdfirst: weirdbook = new weirdbook("weird pbook")

val p3 = p1.replacefirst(weirdfirst)

println(p3)

val p4: pair1[pbook] = new pair1(second,second)

val p6: pair1[pbook] =p4.replacefirst(weirdfirst)

}

點此進入

Scala泛型上下界

需求 我們在定義方法 類的泛型時,限定必須從哪個類繼承 或者必須是哪個類的父類。此時,就需要使用到上下界。使用 型別名表示給型別新增乙個上界,表示泛型引數必須要從該類 或本身 繼承 語法格式 t 型別 示例說明 參考 class person class student extends person...

有上下界網路流問題

此類問題可以分為三小類問題 一 無源匯有上下界最大流 二 有源匯有上下界最大流 三 有源匯有上下界最小流 1 無源匯有上下界最大流 題目大意 給n個點,及m根pipe,每根pipe用來流躺液體的,單向的,每時每刻每根pipe流進來的物質要等於流出去的物質,要使得m條pipe組成乙個迴圈體,裡面流躺物...

有上下界的網路流問題

前幾天就想寫了的,一直沒寫,今天就寫完吧。因為在做這些上下界的題的時候,遇到了很多問題,在大神的幫助下還是一一解決了的。英文沒學好誒喂,在sgu和poj各種wa。主要是沒看題,求上下界已經理解了的。做法 將圖的下界分離到乙個附加源和匯中,而上界則變為原弧的上界減去下界的差,構成乙個附加網路,再在附加...