challenge 文字列の反転

与えられた文字列sを前後逆転したものを返す関数reverse_stringを作成してください。 ただし、sはShift-JISでエンコードされている文字列だと仮定して構いません。

サンプル入出力

>>> print reverse_string("Hello")
olleH
>>> print reverse_string("こんにちは")
はちにんこ
>>> print reverse_string("濁点(だくてん)")
)んてくだ(点濁

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))

Index

Feed

Other

Link

Pathtraq

loading...