scheme (define number-string (number->string 42)) ; 将数字42转换为字符串 2.2 计算字符串长度 可以使用string-length函数来计算字符串的长度: scheme (string-length my-string) ; 返回字符串的字符数 2.3 字符串拼接 使用string-append函数可以将多个字符串拼接在一起: scheme (define another-string " Welc...
1. 下面,需要说明的是字符串中使用的过程/函数 string,这个函数,可以把一系列字符,绑定成字符串 (string #/h #/e #/l #/l #/o) => "hello" 1. string-ref,提取字符串中的特定字符,字符串从0开始计数 (define hello "Hello, world") (string-ref hello 0) => #/H 1. 2. 3. string-append...
(string-set! "hello" 0 #\H) => "Hello" 7、拷贝字符串: (let ((str "abc")) (eq? str (string-copy str))) => #f (let ((str "abc")) (equal? str (string-copy str))) => #t 8、拼接字符串,string-append (string-append) => "" (string-append "abc" "defg") => "abcde...
通过向string-ref过程传递一个字符串和一个从0开始的索引号,可以返回该字符串指定索引号位置的字符。 (string-refgreeting0)=>#\H 可以通在一个现有的字符串上追加其它字符串的方式来获得新字符串: (string-append"E ""Pluribus ""Unum")=>"E Pluribus Unum" 你可以定义一个指定长度的字符串,然后用期望的...
(define-macro addDotAfterDisplay (lambda (x) (display (string-append x "."))) (addDotAfterDisplay "ok") 但是上面的功能普通函数也能实现,我们来看看普通函数实现不了的。宏可以对符号进行判断,比如当前是否是if语句。 if结构是Scheme中的最基本的条件分支控制结构,if过程的框架如下: (if 测试条件 the...
(string-ref“abc” a) ;Value:#\c (index form 0) (string-set!s idxc)将字符串s中索引为idx的字符设置为c。(substring s start end)返回字符串s从start开始到end-1处的子串。(string-append s1 s2 ...)连接两个字符串s1和s2(string->lists)将字符串s转换为由字符构成的表。(string->list“abABcD...
(string-append"Hello "name"!"))); sum of three numbers(definesum3 (lambda(a b c) (+a b c)));shorten version,去掉lambda和括号, 把列表里的aug和函数名括起来; hello with name(define(helloname) (string-append"Hello "name"!")); sum of three numbers(define(sum3a b c) ...
(string-append "E " "Pluribus " "Unum") =>"E Pluribus Unum 你甚至能够特定长度的字符串,并且在你喜欢的时候填上你所希望的字符。用make-string方法。 (define a-3-char-long-string (make-string 3)) The predicate for checking stringness is string?. 和你所预期的一样,检测字符串类型的方法是 ...
"This is a string""This is a string \"with quotes\"""–emptystringThereareaseriesof(string-<operator>commands(string-append“Hello”“World!”) Symbols vs Strings 1 2 3 4 5 (string-length"James")=>5(string-length'James)=>error,stringtypeexpected.(symbol-length'James)=>error,function...
#(define-macro (defobj name) `(begin (define ,(string->symbol (string-append "make-" name)) (lambda () (display "make object ok!\n"))) (define ,(string->symbol (string-append name "?")) (lambda (obj) (if (eq? obj 'name) #t #f)))(defobj "foo")(make-foo)(display (...