自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

coderock

尽折腾些没用的

  • 博客(12)
  • 收藏
  • 关注

原创 Emacs使用

使用Emacs来开发Clojure是一个不错的选择安装到官网下载最新版本,以Windows为例。 解压zip,运行bin目录中的runemacs.exe文件即可启动emacs。关闭emacs,下载配置文件,将所有内容解压到C:\Users\your_user_name\AppData\Roaming.emacs.d目录。再次启动emacs即可。配置leiningen,以使得支持在emacs中启动R

2016-05-16 16:48:59 882

原创 Leiningen使用

创建一个新的Clojure项目lein new app clojure-noob运行项目lein run生成jar包lein uberjar启动一个REPLlein repl

2016-05-16 11:24:57 1093

原创 Android刷机遇到的几个命令

手上有个Nexus 5,准备将系统升级到Android 6。于是到官网下载了一个升级包,并且按照上面的操作指南刷机成功了。过程如下:使用adb重启手机至bootloader模式。adb reboot bootloader解锁bootloader。fastboot oem unlock进入升级包解压后的目录,执行flash-all.bat批处理文件即可。这里值得注意的是fastboot这个程序

2016-05-16 11:11:44 2608

原创 Programming Clojure笔记之九——snake游戏源码解析

(ns reader.snake (:import (java.awt Color Dimension) (javax.swing JPanel JFrame Timer JOptionPane) (java.awt.event ActionListener KeyListener)) (:use examples.import-static))

2016-05-13 17:34:30 650

原创 Programming Clojure笔记之八——多重方法

Living Without Multimethods

2016-05-12 17:56:05 538

原创 Programming Clojure笔记之七——宏

大部分的编程技术都是在语言内部构建特性,然而使用宏(macro)可以给语言添加特性。何时使用宏两条准则和一个例外 1. 不要编写宏。能用函数解决的尽量用函数。 2. 如果宏是封装一个模式的唯一方式,那么请编写宏。例外:相比于函数,如果宏能使得调用更方便,也可以使用宏。使用宏编写一个控制流;Clojure中的if是一个特殊形式(special form)(if (= 1 1) (println

2016-05-12 14:47:11 695

原创 Programming Clojure笔记之六——协议和数据类型

抽象是代码重用的基础。Clojure语言本身对序列,容器和可调用性进行了抽象。在Java中,这通常是通过接口和类来实现的。在Clojure中一般使用protocol来完成这些任务。 面向抽象编程Clojure内置的spit和slurp函数建构在两个抽象的基础上,即写和读。可以将之使用在很多的源和目标类型上。包括文件、URL和socket,并且还可以扩展到其他已经存在或者新创建的类型上。gulp和ex

2016-05-11 13:59:35 1278

原创 Programming Clojure笔记之五——状态

在Clojure中,几乎任何事物都是一个值(value)。 状态(State)就是一个identity在某个时间点的值。 对于identity,在Clojure中提供了四种引用类型。Refs,对共享状态以coordinated,synchronous方式进行更改Atoms, 对共享状态以uncoordinated,synchronous方式进行更改Agents,对共享状态以asynchro

2016-05-06 17:46:51 874

原创 Programming Clojure笔记之四——函数式编程

函数式编程的一些概念pure functionspure function就是没有side effects的函数。除了参数不依赖其他,除了返回值不影响其他。Persistent Data Structures数据结构不可变是Clojure实现函数式编程和并发的关键。 然而数据不可变意味着更改时需要复制,为了保证性能,Clojure会共享数据Laziness and Recursion在Clojur

2016-05-05 16:40:49 885

原创 Programming Clojure笔记之三——使用序列

一切皆SequenceA **seq** is a logical list.Collections that can be viewed as seqs are called **seq-able**.;获取序列的第一个元素,序列为空或nil则返回nil(first aseq);获取序列的第一个以外的所有元素,序列为空或nil则返回一个空序列(rest aseq);向序列起始处添加元素

2016-05-04 18:13:24 1244

原创 Programming Clojure笔记之二——探索Clojure

Clojure具有同像性(homoiconic),即代码与其数据的结构一致。Clojure代码主要由以下形式(Forms)构成。这些形式可以理解为其他程序设计语言中的数据类型。 Form Example(s) Boolean true, false Character \a Keyword :tag, :doc List (1 2 3), (println “h

2016-05-03 13:54:53 951

原创 Programming Clojure笔记之一——入门

Clojure是一个基于JVM的动态语言,支持函数式编程。https://clojure.org/下载最新版本,获得一个jar文件如clojure-1.8.jar。直接运行java -jar clojure-1.8.jar开启REPL。如果要运行clojure程序文件,如hello.clj,直接运行java -jar clojure-1.8.jar hello.clj。或者在repl中加载,如

2016-05-03 13:43:33 581

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除