Racket 常用方法

原创 2016年05月30日 17:45:34
  • round 四舍五入
  • quotient 整除
  • remainder 余数
  • current-inexact-milliseconds 毫秒计
  • inexact->exact 转精确数
  • #e 转分
  • #b #o #x 不同进制表示
  • (number->string 23423 2) 进制转换
  • eqv? 区分整数与小
  • char->integer 字符与Unicode码转换(支持中文) 字符加#\
  • char-alphabetic? 单个字符判
  • char-numeric?
  • char-whitespace
  • char-downcase 字符大小写
  • char-upcas
  • char=? (与eqv?相同)和char-ci=?(忽略大小写)
  • string-set
  • make-string
  • string-re
  • string<\? 顺序比较字符串 string<-ci?(忽略大小写)
  • string->symbol 当有字母以外的符号时,输出两边有竖线,write输出竖线,display不输
  • andmap ormap fliter for-each
  • assoc 找字典
  • mcons 可变pair set-mcar!
  • 向量是定长数组,更新元素消耗O(1) #(1 2 3
  • vector-ref list->vector vector->list
  • magnitude 返回极坐标系下数的大小,可以是复
  • [named let] (let xxx ([])) xxx可以当函数用
  • cond =>将判定结果传进一个函
  • void 什么都不返回 empty返回’()
  • begin 可以把一堆命令变成一个从
  • begin以最后一个值作为返回值,begin0以第一个值作为返回值
  • 少用set
  • letrec 递归赋值,和lambda配合?????
  • quote的参数不能以 #< 开头
  • quasiquote unpuote == `
  • struct-copy 复制结构体
  • 结构体预定义 #:prefab 先随便define ’#s(xxx xxx) 再定义结构体匹配
  • 结构体参数:#:mutable 自动生成set-dot-x!一类的函数,可以改变结构体的属性,[属性名 #:mutable]可以单独让一个属性可变
  • (struct posn (x y [z #:auto]) #:transparent #:auto-value 0) auto用于设置默认
  • #:guard 设置一个函数,每当创建实例的时候调用
  • #method 实现泛型接口?????
  • #:property ????
  • #:super ?????
  • 【第七章】?????
  • open-output-file #:exist ‘update 从文件开头更新,剩下没更新的部分保留 ‘truncate 删除之前的重写 close-output-port
  • open-input-file close-input-port
  • call-with-input-file call-with-output-file 里面嵌套一个lambda,运行完自动关闭文件
  • display 输出的是尽量简化的格式
  • write 可以和read搭配
  • printf可以格式化 ~a==display ~s==write ~v==print
  • make-pipe 生成单向的in->out管道???
  • reencode-output-port reencode-input-port 转utf8
  • (break-thread (current-thread))
  • with-handlers
  • in-range 首 尾 步长
  • in-naturals 无上限
  • stop-before 不包含判定的字符 stop-after 包含判定的字符
  • in-list in-vector in-string 等同于in-range加上类型判定
  • for 多个变量同时迭代,有一个迭代完就全部停止 for* 多个变量嵌套迭代
  • for/list for*/list for/vector for*/vector 同上
  • 可以在两个变量中间或主体部分加#:when 进行筛选
  • for/and for/or 返回真值,主体部分一般是equal判定
  • for/first 返回第一个匹配的 for/last 返回最后一个匹配的
  • for/fold for*/fold
  • #:break 马上跳出循环 #:final 执行完当前循环次后跳出循环
  • time计算运行时间,中间放什么都行
  • match 模式匹配 可以区分list cons vector 可以匹配变量x 最后加上[_ ‘xxx]指定没匹配上的返回值 加…可以省略一部分(模糊匹配)
  • match-let match-lambda ???
  • arithmetic-shift 移位
  • random-integer (require math/base) 没有位数限制
版权声明:本文为博主原创文章,未经博主允许不得转载。

【文档】Racket中的并发与并行

Racket支持程序中的多线程控制、线程本地存储、一些基元同步机制、以及一个用于组成同步抽象的框架。此外,racket/future和racket/libraries提供并行支持以提升性能。 ...
  • hrcnpc
  • hrcnpc
  • 2013年12月31日 17:48
  • 1693

从 Racket 入门函数式编程

一直想学学LISP,今天总算开了个头。现在我学习LISP不是为了马上能够用于实际项目的应用,而是为了学习一下函数式的思维方式,能够更加深入的了解计算的本质,能够更好的用C++, Java, Pytho...
  • thisinnocence
  • thisinnocence
  • 2014年05月16日 22:03
  • 6475

1 欢迎来到 Racket

1 Welcome to RacketDepending on how you look at it, Racket is a programming language—a dialect of Li...
  • yemeishenme
  • yemeishenme
  • 2017年06月26日 10:11
  • 355

Racket中的define、let和let*

在Racket中,define和let都可以进行局部变量的绑定,但用法有所区别: define是单独地绑定一个变量,在此后与define同一级的域中可以引用此变量。 let可以一次性绑定多个变量,...
  • hrcnpc
  • hrcnpc
  • 2014年01月02日 12:40
  • 1627

racket入门

首先推荐一个链接:http://racket.tchen.me/ 在plt-scheme官网(现在改名成了racket)上下载racket,主要会用到的是DrRacket,是racket的IDE,长...
  • lishichengyan
  • lishichengyan
  • 2017年09月08日 19:24
  • 411

Racket,你到底是不是Scheme啊?

前几天看到Lambda the Ultimate上看到一则消息,说Racket发布了,还说Racket就是PLT Scheme的一个实现版本。于是很有兴趣地准备翻译一下它的官方教程,本来打算在6.16...
  • Sedgewick
  • Sedgewick
  • 2010年06月18日 20:10
  • 6729

scheme 教程 #lang racket

原文: https://learnxinyminutes.com/docs/zh-cn/racket-cn/#lang racket ; 声明我们使用的语言;;; 注释;; 单行注释以分号开始#| ...
  • yemeishenme
  • yemeishenme
  • 2016年05月21日 16:35
  • 1577

Racket编程指南——5 自定义的数据类型

5 自定义的数据类型   新的数据类型通常用struct表来创造,这是本章的主题。基于类的对象系统,遵循类和对象(Classes and Objects),提供了用于创建新的数据类型的另一种机制,但...
  • chinazhangyong
  • chinazhangyong
  • 2018年01月20日 23:42
  • 27

emacs 搭建racket开发环境

emacs 搭建racket开发环境emacs下搭建开发racket的环境,笔者之前用过以下两种模式:geiser和racket-mode。相对而言,后一种方式要显得简单,本文主要介绍后一种方式环境的...
  • loveaborn
  • loveaborn
  • 2015年07月05日 14:36
  • 2487

Racket 语言编写的一个简单记事本程序

#lang racket/gui ;;;; RacketNote --- a notepad based on racket ;;;; Author: leesper ;;; definition ...
  • u010665051
  • u010665051
  • 2013年08月04日 12:46
  • 1643
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Racket 常用方法
举报原因:
原因补充:

(最多只允许输入30个字)