home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / unix / scheme_1 / !Scm_slib_obj2str < prev    next >
Encoding:
Text File  |  1993-03-01  |  1.2 KB  |  43 lines

  1. ;;; "obj2str.scm"
  2. (require 'string-port)
  3.  
  4. (define (object->string obj)
  5.   (cond ((symbol? obj) (symbol->string obj))
  6.     ((number? obj) (number->string obj))
  7.     (else
  8.      (call-with-output-string
  9.       (lambda (port) (write obj port))))))
  10.  
  11. ; File: "obj2str.scm"   (c) 1991, Marc Feeley
  12.  
  13. ;(require 'generic-write)
  14.  
  15. ; (object->string obj) returns the textual representation of 'obj' as a
  16. ; string.
  17. ;
  18. ; Note: (write obj) = (display (object->string obj))
  19.  
  20. ;(define (object->string obj)
  21. ;  (let ((result '()))
  22. ;    (generic-write obj #f #f (lambda (str) (set! result (cons str result)) #t))
  23. ;    (reverse-string-append result)))
  24.  
  25. ; (object->limited-string obj limit) returns a string containing the first
  26. ; 'limit' characters of the textual representation of 'obj'.
  27.  
  28. ;(define (object->limited-string obj limit)
  29. ;  (let ((result '()) (left limit))
  30. ;    (generic-write obj #f #f
  31. ;      (lambda (str)
  32. ;        (let ((len (string-length str)))
  33. ;          (if (> len left)
  34. ;            (begin
  35. ;              (set! result (cons (substring str 0 left) result))
  36. ;              (set! left 0)
  37. ;              #f)
  38. ;            (begin
  39. ;              (set! result (cons str result))
  40. ;              (set! left (- left len))
  41. ;              #t)))))
  42. ;    (reverse-string-append result)))
  43.