[xyzzy:08955] Re: リストから取得した要素について
- Subject: [xyzzy:08955] Re: リストから取得した要素について
- From: Kataoka Yumi <tu93a@xxxxxxxxxxx>
こんばんは、つるりんです。
やなぎうらさん、西口さんお返事ありがとうございました。
>> (やなぎうらさん)
> ご自身でもお気づきのように、ここはかなり怪しいですね^
^;
>
> ;;;;;;; 拡張子を変更
> (defun change-extension (fullpath ext-src ext-dst)
> (substitute-string fullpath ext-src ext-dst)
> )
>
> substitute-string は使わずに、
>
> pathname-device pathname : デバイス名を返す
> :
> pathname-host : ホスト名を返す
>
> あたりを使われてはいかがでしょう。
アドバイスありがとうございます。
ここは、もともと split-string で拡張子前後文字列を
リストで取得して拡張子を変更するようなコードでした。
最初に ML にメールさせていただいた時、西口さんより
(string-match "\.txt$" b-name)
と言う関数を教えていただきました。
機能的には、string-match と
ディレクトリでは無い確認を組み合わせてやれば十分だと思う
のですが
string-match でマッチする index 番目を取得した後、
その index をいかして文字列を取得する方法はあるのでしょ
うか?
自分の探し方が悪く、string-match でマッチして
文字列取得するようなことができませんでした。
>>(西口さん)
> というわけで、比較関数を指定できるcaseを書いてみました
。
>
> ;;
> (defmacro case-ex ((key &key (test #'eql)) &body
> :
> ,(inner key-sym body)))))
> ;;
コードありがとうございました。
自分の知識及ばず、呪文のように見えてきました。(^^;
じっくり分解しながら実験してみます。
下の書き方すごく勉強になりました。
(まだそんなレベルです。(^^)
> (case-ex ((pathname-type full-path) :test
#'string-equal)
ではでは皆さんありがとうございました。
--
つるりん tu93a@xxxxxxxxxxx