文字列の反転
Posted feedbacks - Common Lisp
こんなのでいいのかどうかよく分かりませんが、 とりあえず期待通りの結果が返ってきます。
1 2 3 4 5 | (setf (symbol-function 'reverse-string) #'reverse)
(print (reverse-string "Hello"))
(print (reverse-string "こんにちは"))
(print (reverse-string "濁点(だくてん)"))
|
太古の昔(40年位昔?)は、文字列の代りにシンボルを 使っていたとどっかで目にした記憶があったので、 そういう感じを想像して作ってみました。 (reverse-string '|濁点(だくてん)|) => |)んてくだ(点濁|
1 2 3 4 5 6 7 8 9 10 11 12 13 | (defun reverse-string (x)
(prog (s rev)
(setq s (explode x))
l (cond ((null s) (return (implode rev))))
(setq rev (cons (car s) rev))
(setq s (cdr s))
(go l)))
(defun implode (lst)
(intern (coerce lst 'string)))
(defun explode (sym)
(coerce (string sym) 'list))
|


にしお
#3414()
Rating0/2=0.00
サンプル入出力
>>> print reverse_string("Hello") olleH >>> print reverse_string("こんにちは") はちにんこ >>> print reverse_string("濁点(だくてん)") )んてくだ(点濁[ reply ]