さて、今度はリストを「書き換える」部分をなんとかしないと。関数言語的には破壊的操作は許されない気がするけど・・こればかりはしょうがない気がする。まずはリストの要素から特定の文字を探す方法を確立しないといかんけど・・
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
リスト「a」からmemberで探してもfalse・・・はぁ?
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
数値だから駄目なのか?文字列だったら行けるのかなぁ・・と考えてCametan42さんの記事をちょっとだけカンニングして文字列にする。
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
が、駄目。けど#/とかがついてるから?それとも「a」ってのが変数としてのシンボルとして認識されてないとか?
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
あ!数値は発見できてる。けどmemberは見つかったその後をそのまま返してしまうから使えんな~・・変数「a」の方は””をつけても駄目か
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
リストを入れた変数「c」に要素として"x"を入れて"x"でmemberでようやく引っかかった場面。””をつけないと定義されてないぞ!とエラーだしこれはリストで処理するのは大変な気がしてきたw
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
シングルクォーテーションだとどうだろうかと思ったけど駄目!ふーむ・・・
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
Cametan42さんのこの言葉を魂の底から理解したッ!(^o^)
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
まさにこれがやりたいのに、これが出来ないとは!
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
どうやらベクターという配列っぽいのを使わないと再現出来ない気がしてきて調べるけど、それでも特定の場所の要素を探すのも置き換えるのも簡単じゃないっぽいのう・・標準の関数では用意されてないのか・・
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
お気楽Schemeプログラミング入門で作られてるのを利用させてもらえば出来そうだけど・・・どーすっかなー・・その言語で苦手としてる事柄を敢えてこのまま、のたうち回りながらノソノソ進むか(どうかも怪しいがw)・・・それとも実用CommonLispとかSchemeの学習過程で出てきた考えを応用して作れる変な何かをその都度作っていくか・・。普通に考えたら後者やろなぁ・・
見切り千両、ここは撤退するか・・・?ん~・・まあ、ちょうど良いのでベクターに関してちょっと勉強してみるか