Plaster
New
List
Login
text
default
yitzi
2024.04.09 16:05:34
CL-USER> (ql:quickload :trivial-gray-streams) To load "trivial-gray-streams": Load 1 ASDF system: trivial-gray-streams ; Loading "trivial-gray-streams" (:TRIVIAL-GRAY-STREAMS) CL-USER> (defclass transform-stream (trivial-gray-streams:fundamental-character-output-stream) ((target :reader target :initarg :target))) #<STANDARD-CLASS COMMON-LISP-USER::TRANSFORM-STREAM> CL-USER> (defmethod trivial-gray-streams:stream-write-char ((stream transform-stream) char) (write-char (if (char= char #\_) #\a char) (target stream))) #<STANDARD-METHOD SB-GRAY:STREAM-WRITE-CHAR (TRANSFORM-STREAM T) {10018520D3}> CL-USER> (defvar a (make-instance 'transform-stream :target *standard-output*)) A CL-USER> (write-line "wibble_bar_quux") wibble_bar_quux "wibble_bar_quux" CL-USER> (write-line "wibble_bar_quux" a) wibbleabaraquux "wibble_bar_quux" CL-USER>
Raw
Annotate
Repaste