1. 程式人生 > >【Clojure 基本知識】小技巧s

【Clojure 基本知識】小技巧s

;;模擬console原位更新輸出

;;空格擦除法,輸出空格,是為了擦除短字串尾部沒有佔用的位置,因為退格只是回退,並不刪除
(dotimes [_ 10](let [n (rand) sn (.substring (str n ) 2) len (count sn)](print sn)(flush)(Thread/sleep 500) (dotimes[_ len](print "\b"))(flush)))

;;回退鍵配合刪除字元,由於刪除後,游標又前進一位,所以需要再次回退
(dotimes [_ 10](let [n (rand) sn (.substring (str n ) 2) len (count sn)](print sn)(flush)(Thread/sleep 500) (dotimes[t len](print "\b\u007f\b"))(flush)))

 ;;case巨集,多個匹配,同一返回值:使用list

(let [n 12,unit "hour"]
  (case unit
      ("h" "hour" "hours") (* n 60 60 1000)
      ("m" "min" "minute" "minutes") (* n 60 1000)
      ("s" "sec" "second" "seconds") (* n 1000)
      ("ms" "milisecond" "miliseconds") n
      n
    )
)

相關推薦

Clojure 基本知識技巧s

;;模擬console原位更新輸出 ;;空格擦除法,輸出空格,是為了擦除短字串尾部沒有佔用的位置,因為退格只是回退,並不刪除(dotimes [_ 10](let [n (rand) sn (.substring (str n ) 2) len (count sn)](print sn)(flush)(Th

Clojure 基本知識 關於函式引數的各種高階用法

關於Clojure函式引數用法,學習中一些總結,無廢話,直接看程式碼: 一、接受不定引數 ;;接受不定引數 (defn f0[& pms] (println "params count=" (count pms) " type pms=" (type pms)) (doseq [pm p

Clojure 基本知識 ns巨集的 指令(關鍵字) requrie的用法

    指令(:require)用在(ns)之中,下面是實踐中總結的幾種用法(下文中省略ns巨集,只是給出:require的程式碼): 一、匯入完整名稱空間。 1,最簡單的形式: (:require clojure.data.json) 2,同時匯入同一名稱空間的多個子名稱空間: (:require

技巧CSS文字兩端對齊

兩個 isp images inline clas 我們 寬度 filter pre 需求如下,紅框所在的文字有四個字的、三個字的、兩個字的,如果不兩端對齊可以選擇居中對齊,或者右對齊。但是如果要像下面這樣兩端對齊呢? 我相信以前很多人都這麽幹過:兩個字中間使用 來隔開達

純幹貨、技巧遺忘MySQL用戶密碼怎麽辦?

set change 情況 社會 驗證 停止 top skip 希望 遺忘MySQL用戶密碼怎麽辦? 在信息化社會,充分有效地管理和利用各類信息資源,是進行科學研究和決策管理的前提條件。數據庫技術是管理信息系統、辦公自動化系統、決策支持系統等各類信息系統的核心部分,是進行科

Python基礎知識基本數據類型:數字、字符串、列表、元組、字典、集合

tuple 位置 環境 htm 邏輯 python3 修改 yield 啟動 1.查看Python版本 python -V 2.Windows系統下使用命令行設置環境變量:path=%path%;D:\Python 3.幾個重要的Python環境變量 PYTHONPA

程式碼技巧,動態更新中。。。。

若要在迴圈內部修改正在遍歷的序列(例如複製某些元素),建議您首先製作副本。在序列上迴圈不會隱式地建立副本。切片表示法使這尤其方便: >>> words = ['cat', 'window', 'defenestrate'] >>> for w in w

HQL技巧

case1.a與b匹配表保留一條匹配關係 背景:匹配b,b匹配a在同一張表; match_table表為: uid,m_uid 111,222 222,111 需求:只保留一條匹配關係。 結果為: uid,m_uid 111,222 方案:利用陣列排序 select uid,m_uid,conca

web前端技巧總結

1  HTML5多功能增加 HTML5 現在已經不是 SGML 的子集,主要是關於影象,位置,儲存,多工等功能的增加。 (1)繪畫 canvas; (2)用於媒介回放的 video 和 audio 元素; (3)本地離線儲存 localStorage 長

Java基礎知識JDBC基本操作

Jdbc簡介 JDBC(Java Data Base Connectivity )(java 資料庫連線) 可以為多種資料庫提供統一的資料庫訪問。 JDBC使用詳解 JDBC程式設計步驟 1.      載入驅動程式:Class.forName(driverClas

0521模擬賽Z愛數學

csu 復雜度 ace pan chan printf 排序 fine 個數 題目描述 小Z想求F(n,k),F(n,k)表示n的所有因數pi中,滿足n/pi <= k 的和。 小Z發現還是很水,所以他決定加大難度。 求 小Z還準備了很多個詢問。現在你來解決一下吧。

劍指offer和為S的連續正數序列

col ++ log 指針 fin ger bsp style res 題目:小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100(至少包括兩個數)。沒多久,他就得到

SSH---Struts2、Hibernate5、Spring4散點知識

作用域 才會 進行 namespace sci 3.2 對象關系映射 工作 XML 一、Struts21.1、Struts2的概念Struts2是一個用來開發MVC應用程序的框架,它提供了Web應用程序開發過程中的一些常見問題的解決方案: ->對來自用戶的輸入數

復習筆記切片技巧

復雜 畫布 【復習 切片 透明背景 ie瀏覽器 jpg 陰影 復習 1、註意用戶圖片、非用戶圖片 2、顏色單一過渡少的導GIF,有動畫部分的導GIF動畫 ;顏色過渡多、色彩豐富的導JPG;透明背景PNG(主要使用JPG和PNG) 3、切片圖片名稱使用英文,右擊鼠標,可以編輯

網絡知識1http、tcp/udp、soap的區別

target https tar 網絡知識 soa 區別 ext soap udp 一句話總結: soap信息可以通過http協議包裝後通過tcp或udp傳輸參考:https://zhidao.baidu.com/question/617706398106243452.ht

前端知識 | CSS技巧-自適應橢圓

小技巧 圓角 網站 技術幹貨 自動調整 soft ack 顯示 相等 背景知識:border-radius 屬性的基本用法。難題:你可能註意到過,給任何正方形元素設置一個足夠大的 border-radius,就可以把它變成一個圓形。所用到的 CSS 代碼如下所示: 圖1

01月29日Python3 基礎知識

python01月29日【Python3 基礎知識】 5.4 參數匿名函數字典排序 5.5 生成式和生成器 5.6 裝飾器的作用 5.4 參數匿名函數字典排序 # *元組;**字典 def add(*args): total = 0 for i in args: t

01月24日Python3 基礎知識

python01月24日【Python3 基礎知識】 3.4 統計字符串 3.5 乘法口訣 3.4 統計字符串 # 統計字符串給類型符號個數 s = n = f = 0 st = input("隨意輸入字符:") for i in st: if i.isalpha(): s

01月22日Python3 基礎知識

python01月22日【Python3 基礎知識】 2.4 計算器 2.5 tuple操作 2.6 dict 2.7 其他常用操作 2.4 計算器 def add(string): total = 0 numbers = [] numbers += string.spl

01月19日Python3 基礎知識

python2.1 數據類型 2.2 字符串 2.3 list操作 2.1 數據類型 # Ptyhon運算符 ‘‘‘ 數字運算符: + - * / % 關系運算符: a == b a>b a<b a!=b >= <= 賦值運算符: a = b += -= *=