scala Option 偏函式 正規表示式

2021-09-27 07:45:17 字數 2465 閱讀 5319

偏函式正規表示式

使用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 資料不符合規範,錯誤...