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

Scala練習(十八)

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

bugsy.move(4).show().move(6).show().turn().move(5).show()

上述程式碼應顯示 4 10 5。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 package ex18_01 class Bug { var = 0 var = 0 var curr_direction = 0 def move(len: Int) = { curr_direction match { case 0 => x += len case 1 => y += len case 2 => x -= 

相關推薦

Scala練習

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

Scala練習

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

Scala練習

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

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類庫的設計者為什麼沒有選用**(

Linux學習筆記 vim、編輯模式、vim實踐練習

編輯模式 命令模式 vim實踐 一、 編輯模式 命令行模式替換時如果需要替換的字符中有/符號,那麽可以將分隔符換成#或者@ :1,100s#/good/weer/#well#g 將前一百行中的/good/weer/替換為well,:nohl 取消搜索時的高亮顯示,:x也是保存並退出,但是如果並

Scala練習

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

Python

地址 聯網 ren 英雄 eth 參數 攻擊 聲明 機制 一 什麽是面向對象的程序設計及為什麽要有它 面向過程的程序設計的核心是過程(流水線式思維),過程即解決問題的步驟,面向過程的設計就好比精心設計好一條流水線,考慮周全什麽時候處理什麽東西。 優點是:極大的降低了程序的復

Python爬蟲從入門到放棄之 Scrapy爬取所有知乎用戶信息(上)

user 說過 -c convert 方式 bsp 配置文件 https 爬蟲 爬取的思路 首先我們應該找到一個賬號,這個賬號被關註的人和關註的人都相對比較多的,就是下圖中金字塔頂端的人,然後通過爬取這個賬號的信息後,再爬取他關註的人和被關註的人的賬號信息,然後爬取被關註人

【轉】JMeter學習JMeter測試Java

sets interval permsize int 文件 不同 時間 結果 argument 實例: 服務為:將輸入的兩個參數通過IO存入文件; 1、打開MyEclipse,編寫Java代碼 服務: package test; import java.io.F

selenium測試Java--執行JS

val str max dimen inpu umt 測試 import selector 1. 操作滾動條 package com.test.js; import org.openqa.selenium.By; import org.openqa.selenium.

Python學習筆記@property

assert value 復雜 blog 只讀 self %d idt 學習 # [email protected]/* */, # 以及一個只讀屬性resolution: # -*- coding: utf-8 -*- class Screen(

javaDOM

java domDOMDOM:document Object Model(文檔對象模型) 用來將標記型文檔封裝成對象,並將標記型文檔中的所有內容(標簽,文本,屬性等)都封裝成對象。 封裝成對象的目的是為了更為方便的操作這些文檔以及文檔中的內容。 因為對象的出現就可以有屬性和行為被調用

設計模式---模板方法模式

strac string package style prim res 不同的 好的 clas 1、簡介   模板方法模式是類的行為模式。準備一個抽象類,將部分邏輯以具體方法以及具體構造函數的形式實現,然後聲明一些抽象方法來迫使子類實現剩余的邏輯。   不同的子類可以以不同

Python學習筆記

一個 模式 時間模塊 dal 同名 學習 日期時間 mda dst 一、datetime簡介   datetime是Python處理日期和時間的標準庫 二、導入datetime日期時間處理標準庫   # datetime是日期時間模塊,其中包括一個同名的日期時間類  fro

設計模式——職責鏈模式

設計模式 職責鏈模式設計模式(十八)——職責鏈模式一、職責鏈模式簡介1、職責鏈模式簡介職責鏈模式(Chain Of Responsibility)使多個對象都有機會處理請求,從而避免請求的發送者和接收者之間的耦合。將可能處理請求的對象連成一條鏈,並沿著這條鏈傳遞請求,直到有一個對象處理請求為止。2、職責連模式

使用springfox+swagger2書寫API文檔

添加 沒有 mit core 註意 集合 ota ignore sta 使用springfox+swagger2書寫API文檔 springfox是通過註解的形式自動生成API文檔,利用它,可以很方便的書寫restful API,swagger主要用於展示springfox

JmeterLogic Controller 之 Random Controller and Random order Controller

一個 random 執行 alt 簡單 log 控制器 image nbsp Random Controller就比較簡單了,完全隨機!毫無章法。 毫無任何規律的運行。 還有一個Random order Controller,隨機順序控制器就像一個簡單的控制器,它將最多

Linux命令 壓縮或解壓縮文件和目錄 gzip gunzip

配置 硬鏈接 名稱 log logs 壓縮文件 mark 底部 linux 目錄 1.命令簡介 2.常用參數介紹 3.實例 4.直達底部 命令簡介 和 zip 命令類似,gzip 用於文件的壓縮,gzip壓縮後的文件擴展名為 ".gz",gzip默認壓縮後會刪除源文