Scala學習筆記(六):本地函式、頭等函式、佔位符和部分應用函式
本地函式
可以在方法內定義方法,這種方法叫本地函式,本地函式可以直接訪問父函式的引數
def parent(x: Int, y: Int): Unit ={
def child(y:Int) = y + 1
val z = child(y)
println(s"x: $x, z: $z")
}
parent(1, 2)
頭等函式
Scala的函式時頭等函式,不僅可以定義和呼叫,還可以寫成匿名字面量,並把它們當成值傳遞,如
val a = (x: Int) => x + 1
println(a(1))
佔位符語法
如果每個引數在函式字面量內僅出現一次,可以使用下劃線當做一個或更多引數的佔位符
val ints = List(1, 2, 3)
ints.filter(_ > 1)
部分應用函式
def sum(x: Int, y: Int, z: Int): Int = x + y + z
// _代表全部引數列表
val a = sum _
println(a(1, 2, 3)) //6
// 部分應用函式
val b = sum(1, _: Int, 2)
println(b(4)) //7
相關推薦
Scala學習筆記(六):本地函式、頭等函式、佔位符和部分應用函式
本地函式 可以在方法內定義方法,這種方法叫本地函式,本地函式可以直接訪問父函式的引數 def parent(x: Int, y: Int): Unit ={ def child(y:Int) = y + 1 val z = child(y) println(s"x: $x, z
Scala學習筆記(六):物件
6.1單例物件 scala沒有靜態方法或靜態欄位,可以使用object這個語法來達到同樣的目的。物件定義了某個類的單個例項,包含了你想要的特性。 object Accounts{ private var lastNumber=0 def newUniqueNumber
Unity3D之Mecanim動畫系統學習筆記(六):使用腳本控制動畫
ont nim 復制代碼 info rip esc enter machine images 控制人物動畫播放 這裏我重新弄了一個簡單的場景和新的Animator Controller來作為示例。 下面先看看Animator Controller的配置: 人物在站
.net core 2.0學習筆記(六):Remoting核心類庫RealProxy遷移
ride dispatch 包含 void reflect 既然 splay creat (六) 在學習.net core的過程中,我們已經明確被告知,Remoting將不會被支持。官方的解釋是,.net framework 類型包含了太多的Runtime的內容,是
java學習筆記(六):變量類型
animal 單獨使用 div 位置 fin strong pub 局部變量 變量聲明 java一共三種變量: 局部變量(本地變量):方法調用時創建,方法結束時銷毀 實例變量(全局變量):類創建時創建,類銷毀時銷毀 類變量(靜態變量):程序啟動是創建,程序銷毀時銷毀
javaweb學習筆記(六):HTML
目錄 1.HTML相關概念 2.主要標籤 2.1頭資訊 2.2文字標籤 2.3字元實體 2.4媒體標籤 2.5連結標籤 2.6影象標籤 2.7表格標籤 2.8框架標籤 2.9表單標籤 1.HTML相關概念 軟體的結構:
學習筆記(六):使用隨機森林演算法檢測FTP暴力破解
1.資料蒐集: 載入ADFA-LD中正常資料 定義遍歷目錄下檔案 從攻擊資料中篩選出和FTP暴力破解有關的資料 &n
機器學習筆記(六):KNN分類器
1 KNN演算法 1.1 KNN演算法簡介 KNN(K-Nearest Neighbor)工作原理:存在一個樣本資料集合,也稱為訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類對應的關係。輸入沒有標籤的資料後,將新資料中的每個特徵與樣本集中資料對應的特
Scala學習筆記(一):入門
變數定義 Scala有兩種變數,val和var。val類似於Java中的final變數,一旦初始化了,val就不能再被賦值。var可以多次賦值。但由於函數語言程式設計特性,Scala更推崇val。 var的使用也有其侷限性,Scala有型別推斷的功能,當var被初始化後,其型別就已經被斷定,比如 當m被
Scala學習筆記(二):類和物件
object object 是隻有一個例項的類。它的定義與Java中的class類似,如: // 單例物件 object AppEntry { def main(args: Array[String]): Unit = { print("Hello World!") } }
Scala學習筆記(三):==,eq與equals的區別
== Scala中==與java中不同,它是比較值是否相等的,無論比較物件是否是相同型別 List(1, 2, 3) == List(1, 2, 3) //true 1==1.0//true equals 同類型 與==作用相同,都是比較值是否相同 不同型別 返回false,如 1.equal
Scala學習筆記(四):apply方法說明
調用 我們 val sca 關鍵字 語法糖 方式 rgs 類型 當scala中類或者對象有一個主要用途的時候,apply方法就是一個很好地語法糖。請看下面一個簡單的例子: class Foo(foo: String) {} object Foo { def appl
圖解演算法學習筆記(六):廣度優先搜尋
本章內容; 學習使用新的資料結構圖來建立網路模型; 學習廣度優先搜尋; 學習有向圖和無向圖; 學習拓撲排序,這種排序演算法指出了節點之間的依賴關係。 1)圖簡介 假設你住在舊金山,要從雙子峰前往金門大橋。你想乘
機器學習筆記(六):貝葉斯分類器
機器學習所研究的主要內容,是關於在計算機上從資料中產生“模型”的演算法,這個產生的模型大體上可以分為“判別式模型”和“生成式模型”兩大類。 其中判別式模型是給定x,通過直接對條件概率分佈P(y|x)進行建模來預測y。這種方法尋找不同類別的最優分類面,反映的是異類資料之間的差異。之前幾篇文章中介紹
Scala學習筆記(二):控制結構和函式
2.1 條件表示式 2.1.1 Scala中if/else語法結構和java一樣,不同點在於此if表示式有值: val s=if (x>0) 1 else -1 //s的值要麼是1,要麼是-1,取決於X的範圍
各種音視訊編解碼學習詳解之 編解碼學習筆記(六):H.26x系列
最近在研究音視訊編解碼這一塊兒,看到@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,非常感謝,佩服的五體投地。奈何大神這邊文章太長,在這裡我把它分解成很多小的篇幅,方便閱讀。大神部落格傳送門:https://www.cnblogs.com/skyofbitbi
SpringBoot學習筆記(六):SpringBoot實現Shiro登入控制和許可權控制
登入模組:在登入時必須呼叫 授權模組:不是一登入就調動,而是當角色許可權控制時才會呼叫 登入控制 環境搭建在上一篇。 資料庫表 表名:role 欄位:id rolename 表名:user 欄位:id username sex roleid 在程式碼中簡歷資料庫表對應的實
Python3《機器學習實戰》學習筆記(六):Logistic迴歸基礎篇之梯度上升演算法
一 前言 本文從Logistic迴歸的原理開始講起,補充了書上省略的數學推導。本文可能會略顯枯燥,理論居多,Sklearn實戰內容會放在下一篇文章。自己慢慢推導完公式,還是蠻開心的一件事。 二 Logistic迴歸與梯度上升演算法 Logistic迴歸是眾
Angular4學習筆記(六):解耦
程式碼已提交至GitHub 就目前為止,demo的結構已經被拆的很細很細。元件、服務、model之間已經分割開來,下一步的目標就是把介面做的好看一點。 目前介面看上去還是太簡單,在這個看臉的世界裡,完全活不下去。 至少做成這個樣子: 在這之前,還
Cesium學習筆記(六):幾何和外觀(Geometry and Appearances)
我們先直接來看一個例子 var viewer = new Cesium.Viewer('cesiumContainer'); var flag = viewer.entities.add({ rectangle : { coord