はじめまして。野田と申します。
配列をLisp形式で出力したいと思って↓のようなものを書いています。
def output( data )
print "(\n"
data.each do |word|
if wordがArray型ならば
output( word )
else
print "#{word}\n"
end
end
print ")\n"
end
ここの「wordがArray型ならば」というところはどのように
書けばいいのでしょうか?
Lispで書くと
(defun output (list)
(princ "(")
(dolist (word list nil)
(cond ((listp word)
(output word))
(t
(princ word)))
)
(princ ")"))
;(setf a '((a b c) d ((e f) g)))
;(output a)
だと思うのですが,Rubyでlistpにあたる部分がわからない
次第です。
いろいろ本やウェブなど見ましたが,見つからず,
どうかお教えくださいです。m(_~_)m
---
nonta / yo.rim.or.jp