`
heoxsoft
  • 浏览: 12948 次
  • 性别: Icon_minigender_1
  • 来自: 潍坊
最近访客 更多访客>>
社区版块
存档分类
最新评论

Clojure 学习笔记之when-not

 
阅读更多

在clojure中有if 但是没有unless,但是有对应的when-not,同样if与when相对。相比于if与unless,when与when-not没有另外的条件不成立时的分支。因为按照英文的习惯没有人会说:when...else...。因此when和when-not后的body就可以包含很多的语句。因为when,与when-not是一个if主导的宏,然后把其后的body用do包装了起来。看看它的源代码(宏实现)就知道了,非常简单:

 

(defmacro when-not [test & body]
      (list 'if test nil 'do body))
 

 

第一篇小文章很短,写的不好,见笑!

分享到:
评论

相关推荐

    clojure cheatsheet-usletter-color.pdf

    - `bit-shift-right`, `bit-shift-left`, `bit-and-not`, `bit-clear`, `bit-test` - `unsigned-bit-shift-right`:对于大于`Long`范围的整数,可以使用`BigInteger`库进行位移操作。 #### 六、类型转换 - **Cast...

    Clojure入门介绍: Clojure - Functional Programming for the JVM

    Clojure入门介绍: Clojure - Functional Programming for the JVM

    clojure-maven-plugin-1.7.1.jar

    java运行依赖jar包

    clojure-must-watch-源码.rar

    这个压缩包"clojure-must-watch-源码.rar"似乎包含了与Clojure相关的源代码,可能是为了帮助学习者深入理解Clojure编程语言的核心概念和实践技巧。尽管没有具体的标签来指导我们关注特定的方面,但我们可以从Clojure...

    Clojure入门教程- Clojure – Functional Programming for the JVM中文版

    - **Clojure项目实战**: 通过实际项目来学习Clojure是最有效的方法之一。可以从简单的项目开始,逐步过渡到更复杂的系统开发。 - **Clojure与大数据**: Clojure与Apache Storm等大数据框架结合得非常好,可以用于...

    clojure-sha-3-源码.rar

    《Clojure SHA-3 源码解析》 Clojure是一种基于Lisp的现代函数式编程语言,它运行在Java虚拟机(JVM)上,充分利用了Java平台的强大功能。SHA-3,全称为Secure Hash Algorithm 3,是美国国家标准与技术研究所(NIST...

    clojure-lint-spacemacs-layer:用于为Clojure添加和配置linter的Spacemacs-layer

    《Spacemacs-layer在Clojure开发中的应用:clojure-lint-spacemacs-layer详解》 在编程领域,代码质量和可维护性是至关重要的。为了确保这一点,开发者常常使用linter来检查代码规范,提前发现潜在问题。对于...

    clojure-skattelisten-csv-parser

    通过“clojure-skattelisten-csv-parser”项目,我们可以学习到如何在Clojure中有效地处理CSV数据,这对于任何需要处理大量结构化数据的项目都是极具价值的。Clojure的强大和灵活性使得处理CSV这样的任务变得轻松且...

    tapestry-clojure-5.4-beta-3.zip

    android-priority-jobqueue.zip,一种专为android编写的作业队列,用于方便地调度在后台运行的作业(任务),提高用户体验和应用程序稳定性。一种专为android编写的作业队列,用于方便地调度在后台运行的作业(任务)...

    clojure-cli-tools-build:使用Clojure 1.9 CLI工具开发ClojureScript项目的示例构建脚本

    Clojure CLI工具是Clojure生态系统中的一个重要组成部分,它为开发者提供了构建、测试和...通过学习和理解`clojure-cli-tools-build`的示例构建脚本,你可以更好地掌握这一工具,从而提升ClojureScript项目的工作流。

    clojure.java-time:用于Clojure的Java 8 Date-Time API

    `clojure.java-time`是Clojure社区为了方便与Java 8的Date-Time API交互而创建的一个库。这个库使得Clojure开发者能够充分利用Java 8引入的日期和时间处理改进,如`java.time`包中的`LocalDate`, `LocalTime`, `...

    clojure1.3.0及资料

    4. **Clojure 1.4.0 Alpha2**: "clojure-clojure-clojure-1.4.0-alpha2-12-gec59eba.zip"是Clojure 1.4.0的一个早期预览版本。这个版本可能包含了1.3.0之后的进一步改进和新功能,对于关注Clojure演进的开发者来说,...

    clojure-dependency-update-action:一个简单的GitHub Actions,用于为过时的工具创建请求请求。

    在这个场景中,"clojure-dependency-update-action"是一个专门为Clojure项目设计的GitHub Actions。GitHub Actions 是GitHub提供的一种持续集成(CI)/持续部署(CD)工具,允许开发者自动化执行各种工作流程,如...

    clojure-graalvm-aws-lambda-template:用于带有Laalda的GrainVM本机映像编译的Clojure项目的AWS Lambda自定义运行时的Leiningen模板

    clojure-graalvm-aws-lambda-template:用于带有Laalda的GrainVM本机映像编译的Clojure项目的AWS Lambda自定义运行时的Leiningen模板

    using-clojure-for-web-apps

    【标题】"using-clojure-for-web-apps" 指的是使用Clojure这门编程语言来构建Web应用程序。Clojure是一种基于Lisp的函数式编程语言,它运行在Java虚拟机(JVM)上,并且能够充分利用Java生态系统的优势。在Web开发...

    clojure-notes:Clojure学习笔记

    这篇“Clojure学习笔记”将带你深入了解Clojure的核心概念和实践技巧。 一、Clojure的基础 1. 数据结构:Clojure提供了丰富的内置数据结构,如列表(Lists)、向量(Vectors)、映射(Maps)和集合(Sets)。这些...

    菠菜源码JAVA-clojure-learning-notes:Clojure学习笔记

    Clojure学习笔记 为什么要学习Clojure 我写Java也有10多年了,其间用过Python、PHP、Ruby、Groovy、JS等动态语言。Java相对C、C++来说有明显的优势,可以说是一种更高级的语言,高级语言带来的优势是能用更少的代码...

    programming-clojure-3rd

    这本书涵盖了从基础语法到高级特性的广泛内容,对于想要学习或提升Clojure技能的程序员来说,是一份宝贵的资源。 首先,Clojure的核心理念是简洁、并发和持久化数据结构。书中详细介绍了Clojure的语法特性,如S...

    Clojure的HTTP客户端包clj-http.zip

    clj-http 是一个新的 Clojure HTTP 客户端开发包,主要特点是设计简单、可靠、可扩展和可测试。 示例代码: (require '[clj-http.client :as client]) (client/get "http://rest-test.heroku.com/") => {:...

    nginx-clojure:Nginx-Clojure 是一个 Nginx 模块,用于嵌入 Clojure 或 Java 程序-开源

    Nginx-Clojure 是一个 Nginx 模块,用于嵌入 Clojure 或 Java 或 Groovy 程序,通常是那些基于 Ring 的处理程序。 查看 http://nginx-clojure.github.io 了解更多详情

Global site tag (gtag.js) - Google Analytics