1. 程式人生 > >Scala練習(十七)

Scala練習(十七)

1. 定義一個不可變類Pair[T,S],帶一個swap方法,返回元件交換過位置的新對偶。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 package ex17_01 object Main extends App { val = new Pair(97 -> 'a') val = p.swap println(a) } class Pair[T, S](val p: (T, S)) { def
 swap = { (p._2, p._1) } } /*output: (a,97) */

2. 定義一個可變類Pair[T],帶一個swap方法,交換對偶中元件的位置。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

相關推薦

Scala練習

1. 定義一個不可變類Pair[T,S],帶一個swap方法,返回元件交換過位置的新對偶。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13

Scala練習

\1. 編寫函式 values(fun: (Int) => Int, low:Int, high: Int), 該函式輸出一個集合,對應給定區間內給定函式的輸入和輸出。比如,values(x=> x * x, -5, 5)應該產生一個對偶的集合(-5, 25),

Scala練習

\1. 編寫四個Junit測試案例,分別使用帶或不帶某個函式的@Test註解。用 Junit執行這些測試。 1 2 3 4 5 6 7 8 9 10 11 12 13 import org.junit.Test class ScalaTest { @Test

Scala練習

1. <fred/>(0) 得到什麼?<fred/>(0)(0)呢?為什麼? 回答:<fred/>(0) 得到一個scala.xml.Node,<fred/>(0)(0)也是得到scala.xml.Node。

Scala練習

\1. 根據優先順序規則, 3 + 4 -> 5 和 3 -> 4 + 5 是如何被求值的? 1 在REPL中執行即可得到結果。都是從左至右執行 \2. BigInt 類有一個pow方法,但沒有用操作符字元,Scala類庫的設計者為什麼沒有選用**(

Scala練習

1. 實現一個Bug類,對沿著水平線爬行的蟲子建模。move方法向當前方向移動,turn方法讓蟲子轉身,show方法打印出當前的位置。讓這些方法可以被串接呼叫。例如: bugsy.move

Scala練習

\1. java.awt.Rectangle類有兩個很有用的方法translate和grow,但可惜的是像java.awt.geom.Ellipse2D這樣的類沒有。在Scala中,你可以解決掉這個問題。定義一個RenctangleLike特質,加入具體的translate

演算法練習筆記——漢明距離的計算

漢明距離指的是兩個數字在二進位制的情況之下,相互轉化要經過幾位的變換 題目地址:https://leetcode.com/problems/total-hamming-distance/#/description 題目:Total Hamming Distance 描述:

​瀏覽網頁下載文件命令

background 下載工具 version 後臺運行 日誌記錄 下載工具:wget瀏覽網頁:curl,elinks,nslookup13.1.wget功能:非交互式網絡下載語法:wget [option]... [URL]...常用選項:啟動:-b, --background

iOS學習筆記——文件操作NSFileManager

技術分享 append hint pbo -cp fcm object 寫入 rtmp http://blog.csdn.net/xyz_lmn/article/details/8968213 iOS的沙盒機制,應用只能訪問自己應用目錄下的文件。ios不像Androi

python學習 擴展python

生成 實現 語言 擴展 運行速度 ava python學習 簡單 用c語言實現 c, c++, java比python快幾個數量級。 17.1 考慮哪個更重要 開發速度還是運行速度更重要。 17.2 非常簡單的途徑:Jython和IronPython Jython可以直接訪

lucene總結——

文件的 程序 分詞 analyzer 搜索 ocs 硬盤 row top (01)rownum和rowid有何區別? rownum在表結構中是看不見的,只能在select中明確寫出rownum方可顯示 rownum與不同的表綁定在一起,每張表都有自已的r

Android開發系列:讀取assets文件夾下的數據庫文件

pack 取數 code ada tracking 編寫 數據庫 sdn where 在做Android應用的時候,不可避免要用到數據庫。可是當我們把應用的apk部署到真機上的時候,已經創建好的數據庫及其裏邊的數據是不能隨著apk一起安裝到真機上的。 (PS:這篇

設計模式---策略模式

封裝 客戶端 else 互換 rip oid 接口 相同 角色 1、簡介   策略模式屬於對象的行為模式。其用意是針對一組算法,將每一個算法封裝到具有共同接口的獨立的類中,從而使得它們可以相互替換。策略模式使得算法可以在不影響到客戶端的情況下發生變化。 2、策略模式的結構

設計模式——模板方法模式

ring next pri cut 限制 pack [] eat 模式 1.描述 定義一個操作中算法的骨架,而將一些步驟延伸到子類當中。模板方法使子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。 2.模式的使用 ·抽象模板(Abstract Template):

Java學習筆記:super關鍵字

mage cnblogs 分享 關鍵字 super關鍵字 log .cn nbsp java Java學習筆記(十七):super關鍵字

spring boot 1.5.4 整合rabbitMQ

rabbitmq springboot springboot1.5.4 springboot整合jsp springboot整合rabbitmq 上一篇:spring boot 1.5.4 整合redis、攔截器、過濾器、監聽器、靜態資源配置(十六) 關於rabbitMQ原理,請參閱博客:

Linux系列教程——Linux權限管理之文件系統系統屬性chattr權限和sudo命令

系統屬性 brush 選項 all 好的 幫助 博客 簡單 命令   上篇博客我們介紹了權限管理的ACL權限,通過設定 ACL 權限,我們為某個用戶指定某個文件的特定權限。這篇博客我們將介紹權限管理中用的比較多的兩個命令 chattr 和 sudo 。 1、設定文件系統

Springfox與swagger的整合使用

ons 效果 head 單獨 sca 文檔 控制器 pack 接口 一、前言 讓我們先理一下springfox與swagger的關系。 swagger是一個流行的API開發框架,這個框架以“開放API聲明”(OpenAPI Specification,OAS)為基礎,對整個

R語言學習筆記:data.table包中melt與dcast函數的使用

eas table variable mil pat efault ast 函數 pre melt函數可以將寬數據轉化為長數據 dcast函數可以將長數據轉化為寬數據 > DT = fread("melt_default.csv") > DT