R6RS Scheme: 기호
R6RS Scheme: 기호
이름의 철자가 같은 경우에만 (eq?, eqv?, equal?의 의미에서) 동일한 객체인 기호(symbol)와 그 연산을 설명해요.
출처: 문서
본문
기호는 두 기호의 이름 철자가 같을 때 그리고 오직 그때 서로 동일하다는(eq?, eqv?, equal?의 의미에서) 사실에 유용성이 기반한 객체예요. 기호 리터럴은 quote로 만들 수 있어요.
(symbol? obj) — procedure
obj가 기호이면 #t를, 그렇지 않으면 #f를 반환해요.
(symbol? 'foo) ⇒ #t
(symbol? (car '(a b))) ⇒ #t
(symbol? "bar") ⇒ #f
(symbol? 'nil) ⇒ #t
(symbol? '()) ⇒ #f
(symbol? #f) ⇒ #f
(symbol->string symbol) — procedure
symbol의 이름을 불변 문자열로 반환해요.
(symbol->string 'flying-fish)
⇒ "flying-fish"
(symbol->string 'Martin) ⇒ "Martin"
(symbol->string
(string->symbol "Malvina"))
⇒ "Malvina"
(symbol=? symbol1 symbol2 symbol3 ...) — procedure
기호들이 같으면, 즉 그것들의 이름 철자가 같으면 #t를 반환해요.
(string->symbol string) — procedure
이름이 string인 기호를 반환해요.
(eq? 'mISSISSIppi 'mississippi)
⇒ #f
(string->symbol "mISSISSIppi")
⇒ the symbol with name "mISSISSIppi"
(eq? 'bitBlt (string->symbol "bitBlt"))
⇒ #t
(eq? 'JollyWog
(string->symbol
(symbol->string 'JollyWog)))
⇒ #t
(string=? "K. Harper, M.D."
(symbol->string
(string->symbol "K. Harper, M.D.")))
⇒ #t
더 알아보기 (Learn more)
출처: Symbols - R6RS