偏函式正規表示式
使用option型別,可以用來有效避免空引用(null)異常。也就是說,將來我們返回某些資料時,可以返回乙個option型別來替代。
scala中,option型別來表示可選值。這種型別的資料有兩種形式:
示例說明
參考**
/**
* 定義除法操作
* @param a 引數1
* @param b 引數2
* @return option包裝double型別
*/def dvi(a:double, b:double):option[double] =
else
} def main(args: array[string]): unit =
}
示例說明參考**
def dvi(a:double, b:double) =
else
}def main(args: array[string]): unit =
偏函式可以提供了簡潔的語法,可以簡化函式的定義。配合集合的函式式程式設計,可以讓**更加優雅。
示例說明
定義乙個偏函式,根據以下方式返回
輸入返回值1一
2二3三
其他其他
參考**
// func1是乙個輸入引數為int型別,返回值為string型別的偏函式
val func1: partialfunction[int, string] =
println(func1(2))
示例說明參考**
val list = (1 to 10).tolist
val list2 = list.map
println(list2)
在scala中,可以很方便地使用正規表示式來匹配資料。
regex類
findallmatchin方法
示例說明
參考**
val r = """.+@.+\..+""".r
val eml1 = "[email protected]"
val eml2 = "[email protected]"
if(r.findallmatchin(eml1).size > 0)
else
if(r.findallmatchin(eml2).size > 0)
else
示例說明找出以下列表中的所有不合法的郵箱
"[email protected]", "[email protected]", "[email protected]", "123afadff.com"
參考**
val emllist =
list("[email protected]", "[email protected]", "[email protected]", "123afadff.com")
val regex = """.+@.+\..+""".r
val invalidemllist = emllist.filter
println(invalidemllist)
示例說明列印匹配到的郵箱以及運營商
參考**
// 使用括號表示乙個分組
val regex = """.+@(.+)\..+""".r
val emllist =
list("[email protected]", "[email protected]", "[email protected]", "123afadff.com")
val emlcmplist = emllist.map => $"
case x => x + "=>未知"
}println(emlcmplist)
python 偏函式 python 偏函式
functools.partial可以設定預設引數和關鍵字引數的預設值 python的functools模組提供了很多有用的功能,其中乙個就是偏函式 partial function 要注意,這裡的偏函式和數學意義上的偏函式不一樣。在介紹函式引數的時候,我們講到,通過設定引數的預設值,可以降低函式呼...
偏函式 python Python的偏函式應用
在使用函式的時候,偶爾會遇到這種情況 某個函式帶 n 個引數,但在重複使用的過程中,實際只有其中少數幾個引數會不同,其他引數的值都是一樣的。那麼如何可以在多次使用這種函式時,減少輸入重複引數的次數或乾脆避免輸入這些引數呢?答案之一是使用預設引數。拿我們常用的 int 函式舉例,當我們使用 help ...
python偏函式和高階函式 高階函式與偏函式
今天主要在這裡仔細說明一下高階函式與偏函式的知識。高階函式 在絕大多數通常的計算機語言裡,函式的引數只接受基本的資料型別或是物件的引用,返回值也只是基本資料型別或者物件引用。示例如下 function test1 else return function console.log 資料不符合規範,錯誤...