偏函式正規表示式
使用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))
在scala中,可以很方便地使用正規表示式來匹配資料。val list = (1 to 10).tolist
val list2 = list.map
println(list2)
regex類
findallmatchin方法
示例說明
參考**
示例說明找出以下列表中的所有不合法的郵箱val r = """.+@.+\..+""".r
val eml1 = "qq12344@163.com"
val eml2 = "qq12344@.com"
if(r.findallmatchin(eml1).size > 0)
else
if(r.findallmatchin(eml2).size > 0)
else
"38123845@qq.com", "a1da88123f@gmail.com", "zhansan@163.com", "123afadff.com"
參考**
示例說明列印匹配到的郵箱以及運營商val emllist =
list("38123845@qq.com", "a1da88123f@gmail.com", "zhansan@163.com", "123afadff.com")
val regex = """.+@.+\..+""".r
val invalidemllist = emllist.filter
println(invalidemllist)
參考**
// 使用括號表示乙個分組
val regex = """.+@(.+)\..+""".r
val emllist =
list("38123845@qq.com", "a1da88123f@gmail.com", "zhansan@163.com", "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 資料不符合規範,錯誤...