2022/05/09
ここしばらくXubuntuの設定とかで全然プログラミング学習が進んでなかった・・間があいたついでに小ネタを。Xubuntuって読み方「ズブントゥ」なんですね、ずっとエックスウブンツって読んでました。ズブントゥ・・これは同人誌でOS擬人化とかのエロ物があったら擬音語として使われてそう・・すいません。
あと、Wikiで調べたら
![](https://blogimg.goo.ne.jp/user_image/77/0f/6df4bf2bb498cfd64ac8fde46a3aca42.jpg)
なぬっ!?地元の市役所で使われてるw さすが財政難の自治体だ〜。節約良いぞ!
![](https://blogimg.goo.ne.jp/user_image/39/b6/eba25c02c4d039579f888220734b951d.jpg)
あと、メタルラックに置いたらPCがガタついてしょうがなかったので「適当な板があったらなぁ・・」と倉庫を探したら相性最高の板(簡易テーブルが壊れた天板)が。これはもう神のお恵みや!ラッキー!
というわけで「石取りゲーム」です。前に作ったのを改造しようと思ったんですがXubuntu導入の時に退避させて探すの面倒だったので最初から作るか・・と。
![](https://blogimg.goo.ne.jp/user_image/0a/04/87f42cf2510a08e61ecc6924a4f91e30.png)
まずは初期石の設定・・(一番手近なのから始めたなw)。最初は前と一緒でリストを手打ちしてたんだけど「なんかあるだろ」と探して発見、Iota、なるほど〜。ちゃんと毎回違う数が出るようになったしこれは改善ポイントゲット
![](https://blogimg.goo.ne.jp/user_image/7c/20/50d9c7ecc5cc1baaaa42b978d2b44ad3.png)
メッセージ部分。日本語切り替えが面倒だったので適当な英文で・・。石の数の複数形を場合分けせずに(s)で済ませたのは我ながらナイス!改善ポイントゲット
![](https://blogimg.goo.ne.jp/user_image/41/b0/10b4d42c55cd04874e758589e215c031.png)
とりあえず構造体のスロットを決めるか・・・石の数と現在の手番。プレイヤーは最初複数人を想定して構造体をIDで管理して・・とか思ってたんだけど、考えたら石取りを人間1人、COm複数でやってもなぁ・・と思ったので。今回は最初に対戦回数を決めて複数回対戦をさせるつもりなのでカウント用のスロットを・・
![](https://blogimg.goo.ne.jp/user_image/19/d1/ff0d1df34894ab78e0b997f47080c326.png)
COM対戦想定なのでCametanさんのRead部割り込みのInputをそのままパクって・・と。今回の新規要素はCOM思考部分なので、次はそこを書くか!ってところまで。さあどうなりますかねぇ・・
2022/05/05
実はメルカリで「HHK」、つまりハッピーハッキングキーボードを買ってしまいました。だってリチャード・ストールマンも使ってるって言うから!
しかも掃除をしてたらちょん切ったらリストレストになりそうな木材が出てきたんです。
![](https://blogimg.goo.ne.jp/user_image/22/98/ba9c7a2cf99c0379f458f8e87f0ae17a.jpg)
キーボードの幅の長さに切って、やすりをかけて、いつものダイソーミルク塗料(が、まだまだ残ってるので)で塗装
![](https://blogimg.goo.ne.jp/user_image/71/cc/ad74c1301c93c7ab7a8ea672ced7a271.jpg)
キーボードが死んでるPCの外付けにHHK!まあ、まだ前のキーボードが残ってるので待機しててもらいますけどね(^_^;)
ま、それは良いとして今日はちゃんとプログラミング学習をやりました。
![](https://blogimg.goo.ne.jp/user_image/7c/d3/e4b227100ea29758bd3b2d5ce93e90a8.png)
途中、トラックパッドに手が触れてRacketのカーソルが飛びまくるのでコロす。Cametanさんに教えてもらったnemo、すごく良い!Windows使ってた身としては「これこれ!」という感じで本当に幸せになったのでしたw
![](https://blogimg.goo.ne.jp/user_image/4c/cc/998d6382435c26d57356309ef0124e65.png)
Racketでババ抜きの続きを・・構造体をwに束縛して使うってのが分かってから構造体が好きになりました
![](https://blogimg.goo.ne.jp/user_image/24/e3/4a9b8cca0950b4112ddf63d1066c562d.png)
initialize関数のところでdiscardPairの返り値とかが曖昧になってたので後戻りして確認したり・・うーん、この関数もナイスですねぇ・・コレクションに入れておこう。「コードコレクション日記」をつけようと思ったんだけど、このGooブログって貼り付けるとインデントが消えるんですよね!じゃあ意味ないから個人的に保存しておきます
![](https://blogimg.goo.ne.jp/user_image/54/c7/4132de86d09d961a5812239fe1984f92.png)
引き返して読み直すと、なるほど〜・・・
![](https://blogimg.goo.ne.jp/user_image/64/78/2b141f4fd055dc1bf3b4a691010e38a8.png)
例外処理の部分、改めて見ると本当に「強力」って感じがする。これもコレクション行きで。という訳でとうとう最後まで来たので・・次回は石取りゲームを作り直すということで。
ところでRacketに疲れたので休憩にEmacsをいじってたのですがw
![](https://blogimg.goo.ne.jp/user_image/45/ff/41387da5a753e82f370c133123fa409a.png)
もしやと思ってBUしておいたWindowsでの.emacs.dの中身をそのままコピーしたらフォント以外は環境が完全再現されてしまった!スゲぇ!
あとは・・動画ファイルを見ようと思ったらデフォルトのアプリはやたらと重いのでVLCを入れたくらいかな・・フォントは重そうなので次の宿直のときにDLすっか(このPCはバッテリーが完全死亡してたので外してあるのだ)。
いや〜・・Xubuntu良いですね!アドバイスいただけたらこんなにも快適になるとは・・ありがとうございます!!
2022/05/04
さて、今日は宿直でネットが使い放題なのでプログラミング学習用マシンを持ち込んで・・
![](https://blogimg.goo.ne.jp/user_image/3c/e3/f0f47ece350da76d43620f89b09cc3c4.png)
おや?この画面は・・・そう!CametanさんのアドバイスでXubuntu入れちゃいました。以前から手持ちのマシンを一台Linuxにしても良いなとは思ってたんですが踏ん切りがね・・結Win10で良いか・・と言う形で落ち着いてしまっおりました。
ちょっとだけ使ってみた印象は・・・
・とにかくソフトの導入が楽。apt-get installでスルスル入る
・ファイル操作がまだ慣れてなくて戸惑う、ファイル検索がデフォルトのファイルマネージャーに無い
・マシンの反応は日本語入力に関する限り微妙にWindwsの方が早いかなぁ
以上・・浅いw
ちなみに我が家ではキーボードがイカれてるWindowsマシンが2台、Chromebook2台、ちゃんと動くWindowsマシン2台、Windowsタブレット1台という実にキモい環境となっております。ちなみに最新のマシンでも10年前のCorei7(当30000円)ですから・・これはスーパー大戦略68kで言うと「中国」って感じの戦力です。まあ、十分だからなぁ・・
という訳でEmacsもRacketも入れたし明日からは続きやってきまっさ!
あと、これを機会にSpacemacsを入れようと思ったんですがキーバインドをEmacs風に指定したせいか、なんかフォルダが無いファイルが無いとかエラーが出まくって、やっぱりバニラEmacsに戻してしまいました。
2022/05/03
今日は全然PCを触れなかったなあ、、ただ
![](https://blogimg.goo.ne.jp/user_image/24/ba/1da98f83518b21440dc62a7b73edae60.jpg?1651580914)
cametanさんのリアクション記事で累積の別パターンを知る。引数に初期値を設定できるのは知ってたけど、こういう使い方、なるほど〜
![](https://blogimg.goo.ne.jp/user_image/36/4c/fa62cb7a8a53446a7c6be157ed4ed85a.jpg?1651580914)
![](https://blogimg.goo.ne.jp/user_image/36/4c/fa62cb7a8a53446a7c6be157ed4ed85a.jpg?1651580914)
そしてfoldl、全然思いつかんかった!思ったんですけど、これとか前のfoldlの定義、ババ抜きのmake-deckとか「おおッ!?」と思ったのはコレクションしていくべきやなあ。コードコレクション日記、、また日記かよって感じですがw
![](https://blogimg.goo.ne.jp/user_image/15/f2/abfef92a76e3c2126b406c65264a0fa4.jpg?1651580914)
![](https://blogimg.goo.ne.jp/user_image/15/f2/abfef92a76e3c2126b406c65264a0fa4.jpg?1651580914)
ところでPC触れなかった理由の一つが普段学習に使ってる4000円で買ったPC。これがスリープからの復帰で100%フリーズするという、windows10特有の不治の病にかかりまして、、windows7に戻そうかと思ったらSSDに対応してなくてまた10にして、、。で、スッピンの状態なので明日バイトに持ってってracket、emacsを入れ直さないといけない、と。まあ、たまにはクリーンインストールしたらんとね。95の頃は月に1度は入れ直してたもんよ、、
![](https://blogimg.goo.ne.jp/user_image/6a/5a/50149930f7862643e40652778de09b5b.jpg?1651580914)
![](https://blogimg.goo.ne.jp/user_image/6a/5a/50149930f7862643e40652778de09b5b.jpg?1651580914)
あとは、、先日ちょっと間を開けてEmacs触ったら、早くもキーバインドを忘れてたのでチートシートを印刷しやした(^o^)
2022/05/01B
![](https://blogimg.goo.ne.jp/user_image/23/b1/5c59c30dfa0e8143c95fbe7d704cc757.png)
なんかここんところがピンと来なくてステップ実行・・あっ!なんだ外側のループが最初に回って中が回るのか!( )と同じで常に中が最初に回って、それから外だと思ってた。この形はそのまま覚えるようにしよう
![](https://blogimg.goo.ne.jp/user_image/02/c8/50771c6733afadb0a728848fd2d74b06.png)
なるほどInsert、リストだとこういう処理をしないといかんか
Applyってこうやって使うんですねぇ、なるほど
next-id、多人数で上がりが発生する場合の参考になる!
![](https://blogimg.goo.ne.jp/user_image/2b/9b/6ea416b107efaa9ea7517505e2db5eca.png)
最後の(world card clist....)のところ、なんでworldまで返すのか?と思ったけど先になったら分かるだろうからとりあえずスルーで。
![](https://blogimg.goo.ne.jp/user_image/2c/27/4fdb6fc15d14ca717f912a7ea3bfacc7.png)
RoRでもそうだったけど、関数を作っていく時って時系列だと先にでっち上げて・・感じのことが多いんですかね・・同時に頭の中で出来上がってるのか、本当に後で考え始めるのか。
あと、構造体の使い方を今更「なるほど」と(Card-suitのところ)。Assqの時もそうだったけど、もっと返り値の意識して覚えんと・・。
ひとまず最後まで行ったらいよいよ石取りゲームの改善にとりかかろう!プレイヤーの数増やすのと、あとはCOMの戦略?やな・・。多分、4の倍数で手番が回ってくるようにしたら勝てる・・ような気がするので、それを狙って行く感じかな?
2022/05/02
昨夜はあれからちゃんとババ抜きの勉強をしました。画像が自宅のPCにあるのでちょっと出せませんが(こういうところが不便なの)、デッキ構築のMake-deckは大変勉強になりました。入れ子ループの挙動を勘違いしてイメージしてて・・まあ、そこは後ほど。いや、今ですね!夕方までヒマなのでモールに来てWIFI使わせてもらってるんですけど、まず「Scheme 実行環境」で検索したら例によってPaizaが出ましてね。前に全然使い物にならなかったので無視してたんですけど
![](https://blogimg.goo.ne.jp/user_image/03/b8/ef1aa89c0ca1761481e8637cef7c53a3.png)
あれ?普通に動いてる・・我が家の環境がおかしかったのか?まあ、さすがにRacketは無理なんですが・・けど、ということはですよ?昨夜発見した素敵すぎるサイト↓
![](https://blogimg.goo.ne.jp/user_image/5d/2c/659a2ea7155ef4bebef31e2c6e33bd64.jpg)
ロゼッタストーンってサイト。いろんなプログラム(ゲームとかも)を多分、有志の方が様々な言語で書いてくれてるんです。これは・・写経し放題じゃないか!これにPaizaの環境を使えば・・ChromeBookと外部WIFIで学習し放題!
よくGithubでサンプルを見つけて写経とか見るんですけど、探すの大変じゃないですか?しかしこのサイトなら・・これはもう家は食事と睡眠と充電だけのために帰るって感じで(^o^)
2022/05/01
金曜日は時間があると思ったのに・・結局何も出来ず。昨日はバイトまでの時間を使って!と表ったのですがなんかバーベキューに誘われてしまって・・
というわけで今日からまた再開だ!と、思ったのですが昨日一杯でついにWIFIの契約が終了となったんです。これからはスマホのアクセスポイント機能を使って月あたり5GBの容量でやりくりせねばならんのだな!と。
これがもしも図書館とかバイト先でWindowsPCが使えたらなぁ・・はっ!?そう言えば以前衝動的に買ってしまったAUSUのVivoTab8があるじゃないか!こいつにBTキーボードを繋げば・・・!
![](https://blogimg.goo.ne.jp/user_image/3b/b3/11face2acbf837539275bf04034dc67a.jpg)
図書館にて。このタブレットは買ってすぐに謎の故障で液晶の下5分の2あたりまでがスダレがかかったみたいに、横置きならRacketのエディタで不自由は無いだろう!ということで足りてなかったドライバとかを入れて、BTも使えるようにして起動。
Racketって・・思ってたより重たいんですね・・ほとんどフリーズしたみたいになってまともに使えませんでした。まあ、マシンが非力すぎるんですけどね)ATOMだし・・
![](https://blogimg.goo.ne.jp/user_image/4b/07/11839d149647b3902e849d299ff548ef.png)
帰宅後、予定通りにスマホのアクセスポイントを使ってRacketで先日のおさらいとか、Emacsを起動してテクニックバイブルの例文を入れてみたりとか。今夜はこれからRacketでババ抜きの読み解きの続きを・・・生存報告でした。
2022/04/28
結局夜中まで施術でヘロヘロ。一応プログラミング関係での活動だと
![](https://blogimg.goo.ne.jp/user_image/7c/f6/a1ec6a4105b8ffd111f961c22945b1de.jpg)
キーボード完全死亡のDELLパソコンにRacketとEmacsを入れてみた。僕のレベルだとマシンパワーは十分すぎますね。キーボードはゲームパッドタイプのを使ってみたんだけど・・タッチタイプが出来なくて地獄!
![](https://blogimg.goo.ne.jp/user_image/51/a4/a01928a6c59e22f0cfe054554db53b0f.png)
MPが枯渇した状態だったので、新規の学習はせずにScheme入門的なサイトで復習を・・。累乗の計算を末尾再帰で行うのに、名前付きletとそうじゃないのを見比べたりとか・・あとはニコニコで(C言語だけど)テトリスを実況しつつ1時間で環境構築から作るってのをぼやーっと眺めたりとかしてました。ブロックの定義に構造体を使ってるのを見てなるほど~とか。
2022/04/26
久しぶりの日記更新です。別に好きでサボっていたわけではなくて先週あたりから妙に本業が忙しくて(バイトもいつもどおりあるし)、帰宅してもすでに精神力が尽きてしまっていてコードと向き合う気力が湧かなかったのです・・。まあ、映画は観てたんですけどね!やっぱり受け身の娯楽はラクなんで・・
![](https://blogimg.goo.ne.jp/user_image/1a/de/e195722c54fa2ab64b2bc89d84012e35.png)
まず前回分からなかった原因の1つとしてdealCardsがどんな形で値を渡されるのかピンと来てなかったので抜き出して・・なるほど!この時点で既にshuffleかかってんのか!それで塊で渡すって話になってたのか~(今さら)
そして補習分の解説で
~~~~~~~~~~~~~~~~~~~~~~~~~
![](https://blogimg.goo.ne.jp/user_image/49/b1/2e95372c6382826add2018533c1c432c.png)
~~~~~~~~~~~~~~~~~~~~~~~~~
こちらの2つ目の例でようやく腑に落ちる(と言っても結構Racketのコードとにらめっこしてました)。おーっ!ここまで説明してもらってようやく理解出来た!改めてdealCards関数、めっちゃスマートじゃないですか?なるほど~・・この状態で写経したら効果ありそう。ありがとうございます!
![](https://blogimg.goo.ne.jp/user_image/4d/81/5e098a97b94cf3c97916a45656de2b33.png)
とりあえず金曜日から時間が出来そうなので遅れを取り戻すで。いくらでもやりたいことあるなぁ・・
2022/04/21
昨日は相当逡巡した上で日記を書いたのですが・・Cametanさんから温かい励ましをいただきまして(^o^) ネットリと解説を読ませていただきました。ありがとうございますm(_ _)m
![](https://blogimg.goo.ne.jp/user_image/01/37/5d17283ae59fd8fd3e8a498bfb8d7770.jpg)
うおお!なるほど!定義を見たらたしかに!(←あっさり書いてますけど結構にらめっこしてました)
![](https://blogimg.goo.ne.jp/user_image/4e/a5/e8f19321969bfa36f22fe275352e0629.jpg)
で、この形になってる理由も納得。なるほど可変長にするためか・・あれ?とすると、以前参考にしたお気楽さんの形だとxyはそのままの順番でも行けるのでは!
![](https://blogimg.goo.ne.jp/user_image/2a/ef/a36301668b64e410c37259dbe9065aad.png)
お、やっぱりねなるほど~(・o・)
あとですね、Cametanさんのコメントで思いましたけど、確かに「ついつい苦手意識を持ってる部分を避ける」って・・大いに思い当たりますね!Lambdaも高階関数も避けてるし・・という訳で、ここは一つ苦手意識を持ってるものばかり1000本ノック的に手クセになるまで反復練習をしてみようかと思いました。佐藤優さんいわく、数学は体で覚えるテクネーなので手を動かして実際に計算をしないと駄目って話で、まさしく僕は数学の学習において反復練習を避けまくってきたので苦手なままだったんだな、と。
いや~・・ネストが深くなってまいりました
2022/04/20
私はこれから呆れられそうな事を書きます(-_-;)
![](https://blogimg.goo.ne.jp/user_image/1c/61/13cd41e50256a73b6e45f55c7dec50a5.png)
本当にすごく今更なことを書くんですが・・上の関数の動きが・・分からないんです。Lambdaの仮引数、x yの順番なんで初期値のlstをx、後ろのカウンター用リストがyなるような気がするのに
![](https://blogimg.goo.ne.jp/user_image/53/64/676db045233a9d61a1cbed68514124b3.png)
Lamdaが引数を2つ以上引き受けないとfoldlが動かないのは分かるんですが
![](https://blogimg.goo.ne.jp/user_image/00/e6/ec7507a654d46c4e783ea3fb74912308.png)
yで束縛されてるからというわけでも無いようだし
![](https://blogimg.goo.ne.jp/user_image/60/54/fe3a8376b9accca1cbbea1b9c663beec.png)
引数を増やしてみると必ず最後の引数がlstに割り当てられるようになってるんですが・・
![](https://blogimg.goo.ne.jp/user_image/40/6f/c03cb46b6979624b844f099edbdd9ac1.png)
更に増やしてみる・・ここで詰まってしまって全然動けずだったのでした。なんかムチャクチャ基本すぎることだったらどうしよう
2022/04/19
Cametanさんのババ抜きを最初からRacketで打ち込んで勉強し直してます。石取りに使えそうなところがあったらその場で改善していこう、と。特にCPU戦のところが楽しみなんですが
![](https://blogimg.goo.ne.jp/user_image/41/9a/71776af7aa7f723148ce08c56f402c80.png)
ここがこんがらがるので、明日じっくり追ってみる予定
2022/04/18
昨日、出張からの帰りの自転車で「あ、なんか出来そう!」という気になって本日構造体を作って・・とやってみたけど出来ませんでした(^_^;)
という訳で当初のCametanさんのアドバイスどおり、まずは「ババ抜き」の記事を読む。ちゃんと実用Common-lispのあのページのことが書かれているばかりか、今読んでみると懇切丁寧に書かれているではないか・・やっぱり読んでるだけじゃあ駄目だなぁ
![](https://blogimg.goo.ne.jp/user_image/37/c9/e287f5751c6643837f9dfefe167cfa50.jpg)
ただ、例のKindleに飛ばすプラグインを使った場合、こういう感じに整形されてしまうんですよ・・これだとインデントが無いので構造が全然分かってなかったんですね!(言い訳にもなってませんが)。
![](https://blogimg.goo.ne.jp/user_image/59/d8/f1154fe69f55ddcefd1ac03a041d6bd7.png)
そこで改めてRacketでババ抜きのEval部分を打ってみると・・あ、そういうことか!!Letの入れ子でWorld構造体の要素を片っ端から新しくして最後にそれをまとめた構造体として返してループさせる、と。いや、そう書いてくださってるんですけど、全然理解できてなかった。
んで、こちらを参考にというか構造を丸パクリして
![](https://blogimg.goo.ne.jp/user_image/4f/81/fc46799e7963508a125f2d614a78858e.png)
とりあえずなんとか動くものが作れました!絶対にガバガバな書き方になってる自信がある!んですけど、ようやく構造体の利用方法が少し分かって来た気がする。次は一度、お手本のババ抜きと同じ方式でプレイヤーを回すのをやってみるか・・あ、その前にCametanさんからいただいているヒントと突き合わさせていただきます~。勝利条件がおかしいのとか制限かかってないとかは現時点ではスルーで(^_^;) 動いただけで嬉しいス
2022/04/17B
出かける前にSet!の件だけは解決しておくか・・とRacketを開く。ここだけだったら
![](https://blogimg.goo.ne.jp/user_image/55/d8/b84b644ad71fdb72bce20f15af0a3484.png)
普通に引数として渡す時に・・これで動いてるし良いのかな?とりあえず一度自分で調べたりした後にCametanさんの解説を拝見したほうが身につくと思いまして(^_^;) うーん、謎のこだわり。後で答え合わせをしよう「ではどうするか?」の後は急いで目を反らして解答を見ないようにしたんでw
で、問題はEval的働きを入れたREPLの形だけど・・・正直、入力待ちがあってそれを受けて出力があってループしてたらREPLなんじゃないの?とか思ってました(^_^;)
ネットでREPLとして調べても自分でつくろうってページがヒットしないんですよね・・すでにあるインターフェイスとしての紹介ばっかりで。
そこで実用CommonLispで検索したんですがREPLだと駄目で、Evalで検索
![](https://blogimg.goo.ne.jp/user_image/36/8a/6dbe182fdc78a564e7e4310dc21c80e5.jpg)
Lispそのものを作るとかそういう話でようやく出て来た。
![](https://blogimg.goo.ne.jp/user_image/2b/58/abfe43247008e95ba441c65bf37a8043.jpg)
この章で解説されてるっぽいので、今日はここを読んで、その結果を取り入れて作り変えてみて、その後にCametanさんのところで答え合わせと行こう!(・・もしかしてだけどREPLで作るってインタプリタ(的なもの)を作るって話なんだろうか・・ヒヤヒヤ)
2022/04/17
Racketの石取りゲーム、なんか違うなあと思ってましたがCametanさんの記事が!帰ったら早速やってみよう!
さっきパッと拝見してset!使っちゃ駄目ってのと、eval的な構造を入れないと、、ってのだけ分かったので(そう言えば、、今更これは呆れるw)、それで一度考えてみて無理ならねっとり見せていただく!
ついでに折角なんで使った事が無い構造体も取り入れてみるか、、
あと、宿直の待機時間で「コンピューターはなぜ動くのか」の続きを読み始めました。アルゴリズムの話、面白いなあ。
2022/04/14
いやいやいや・・なんかここ数日本業が久々で忙しくてですね、バイトもあるしで何も出来てないのでした。
で、Gooのクソ仕様のせいで見落としてたんですが(フォローしてる人の記事が更新されてもお知らせが遅い、複数あっても最新しか表示されない等)「石取りゲーム」。ちょっとやってみようか!と。まあ、明日ね!今、宿直中なんで
![](https://blogimg.goo.ne.jp/user_image/57/33/37ac5179a2962863c0e72237f9f56b02.jpg?1649936244)
安易な考えではこのREPLの形に当てはめたらオッケイなのでは?と考えてます。一応、ババ抜きは見ないでこの形とRacketのマニュアルで一度作ってみようかと。でも循環リストの事は覚えてるので使わせていただきやす。
生存報告でした(^o^)
2022/04/11
![](https://blogimg.goo.ne.jp/user_image/00/df/43a64c2fb75933aa50a4220b8ac06568.png)
Emacs、一通りいじった後に再起動すると・・立ち上がり画面がちょっと変わっている。なんか下にエラーメッセージみたいなのも出てるし・・心当たりはAuto-installがらみのFatal error・・もしや設定がおかしくなってしまったのでは?と気になって、また色々といじる。結局NtEmacsを入れ直してしまったw。結論から言うとfontの設定絡みで起動時の謎の絵画?が出なくなってっぽい。
実用Emacs入門は版が古いし、そこそこで置いといてるびきちさんのテクニックバイブルを読み始める。これはLispの勉強にも良いな・・で、こちらでもAuto-installでいくつか入れないといけないELファイルが。で、失敗する。Package-installで入れられないのかい?と思ったら全部普通に入れられじゃないか!
そして一応日本語チュートリアルを読み(やり)終える。ようやくバッファの切り替えとか出来るようになった。普段なんだかんだ日本語入力ばっかりしてるのでショートカットとかはまごつくけど慣れですかね(パッと触った感じだとモードを切り替えないといけないVImより好みかなぁ)。
![](https://blogimg.goo.ne.jp/user_image/1a/83/2bf6d39f848dab9df6189d9412fa3264.png)
で、RoRをようやく再開する。構造体のおさらいでありがたい。で、結局Racket使っとるんかい!ま、まあ後で貼り付けて比較とかするから・・
後はYoutubeでゆっくりコンピューサイエンスのチャンネルで新作が来てたので見る。個人的にはこのチャンネルすごく面白い(再生数とか全然増えてないみたいだけど)。
それとつい先程Cametanさんのブログを拝見してAnythingの謎が解けました。Helmってよく聞くと思ってたけどそういうパッケージだったのか!ありがとうございました!
2022/04/10
よーし!いよいよRoRの続きを!・・すると思った?いや、前夜布団の中で思いついちゃった。キーボードの9割が効かないので波動測定専用になってるDELLの古PCに復習を兼ねて「Emacs実践入門」片手にEmacs環境を作っていかが?と。
![](https://blogimg.goo.ne.jp/user_image/1a/6a/c929dcd2281016fa9dca3b984316a967.jpg)
で、前回はコマンドプロンプトからのインストールだったのを日本語環境を追加した状態でビルドされているというNtEmacsというのを使ってみる。で、C-を押すと・・初期装備のしょぼい日本語変換モード。あれ?と思って全角半角を押すと・・いきなりGoogle 日本語入力(多分)!これがNTか!次からは絶対にこっちにしよう。
![](https://blogimg.goo.ne.jp/user_image/26/f6/1a183338fa75d95d5c3ebf44c6a4c743.png)
更にAnythingなる操作系を統一する(らしい?)パッケージがオススメ!とあったのだが、それを入れるためにAuto-installなるものを入れないといけないという(Melpaではプラグインを入れるのが面倒なんだとか?)・・ぐぅ・・いやパッケージ管理統一してくれんかなぁw
![](https://blogimg.goo.ne.jp/user_image/55/25/abb0f4e5d581df1709288b152d7b3a57.png)
で、入れまして・・
![](https://blogimg.goo.ne.jp/user_image/7d/a5/65e95d1855186f65e454220366f8b7ef.png)
設定のページがあったので従って設定しましたが・・・Emacs起動時にエラーが出る。
![](https://blogimg.goo.ne.jp/user_image/1b/fd/3d639ca2e1be41906a6230021d0d1a0d.png)
色々と試したところ、(require...)を後に、ディレクトリはデフォルトにすることでようやくエラーが起こらないようになる。が、肝心のAnythingを入れる段になると100%でFatal error発生ということでEmacsが落ちるという・・(^_^;) Auto-installがちゃんと入ってないのか、Anythingがおかしいのか?追求しようと思ったところでネットで発見「AnythingがMelpaから消えている」「もう誰も使ってないからじゃない?」とかそういう書き込みを発見。実践入門はEmacs23の時代のもので11年前なんですが・・まあ、それだけあったら流行り廃りも出てくるか・・もうエエわ。これ無し!
![](https://blogimg.goo.ne.jp/user_image/31/75/9b70e319472ed7015284aa184e1e5376.png)
fontですがCametanさんオススメのHan codeを入れてみる。おお・・ポップでいてなんかコンピューターっぽい。()も太くて見やすいしこれにさせてもらいましょう。で、ようやくRoRのORCバトルを最初から打ち込み始めて・・ってところで宿直へGO!
・・・宿直の待機中・・・
![](https://blogimg.goo.ne.jp/user_image/4f/f0/e7534e7f71b8e86541def5da5697b83f.png)
最近、ネットでプログラミング関連の事柄ばっかり調べるから新規ページを開くとニュースでもプログラミングについての事ばっかり。その1つにセガが教育(写経)用にぷよぷよのコードを公開中だという。ほお・・JSか~・・まあ、いつか取り組むかも知れないので念のためいただいておく。
昼間Emacsを触ってて気になった「ORG-mode」についてちょっと調べてみるか・・と検索したところブログを発見。ORGについては・・これはハマると危険だなwと感じたので置いといて
![](https://blogimg.goo.ne.jp/user_image/53/db/362c05dbec18f363d8cba37b9b0c12d4.jpg)
なにィ!?アンドロイドでEmacsが使える!?うーむ・・それなら最早「いや~宿直だったんでプログラミング学習できませんでしたw」ってのは通用しないな!
![](https://blogimg.goo.ne.jp/user_image/50/09/3de264f7cb88509371c1c032688b83e9.jpg)
おおっ!?
![](https://blogimg.goo.ne.jp/user_image/62/24/bced2dff01c2952902e4844e81a74d86.jpg)
あ、CLIタイプなのですね。BTのキーボードさえあればどこでもいつでも学習できるって事か。いや~便利な世界になりましたねぇ。
2022/04/09
![](https://blogimg.goo.ne.jp/user_image/10/c6/9dacf58e89814efb126b4fcb4774d59a.png)
日本語入力なんですが結局、(require 'mozc)では駄目で、直接DLしたファイルを置いたところを(load-file "~...)で指定しないと起動しませんでした。
![](https://blogimg.goo.ne.jp/user_image/09/c8/1152e6b9582c6bb35a9b64a8d2ef263f.png)
あ~やっと打てた!
![](https://blogimg.goo.ne.jp/user_image/76/ef/977d4993cae55b05c90802b41a54e5c4.png)
その後、Tr-imeの存在を知ってインストールしたところ普通に「半角全角キー」でIMEの起動が可能になり、Windowsおなじみの入力感が!
![](https://blogimg.goo.ne.jp/user_image/57/b7/6a1e2d4851af9221be90809caa414c28.png)
次はSchemeの実行環境ですが・・
![](https://blogimg.goo.ne.jp/user_image/67/d6/2a2dddd60280b348a23a00c3e04ae577.png)
とりあえずパスを通したりなんだりしてGaucheを入れてみること。
![](https://blogimg.goo.ne.jp/user_image/54/b1/d10820f3f4906694af4cb3e849fc504c.png)
スキームモードで入力してみると・・・!おおっ!Auto-complete効いてる!前はバッファに存在する単語のみが候補に出る感じだったので不安でしたが、色々と弄ってるうちに出来てたw。これ、init.elをちゃんと整理しないといかんな・・
まあ、とりあえずこれでオッケイ!ようやくRoRの続きをやります!
2022/04/07~08
![](https://blogimg.goo.ne.jp/user_image/30/11/daaf79c4e8376a504943082005bcb664.jpg)
予定通り健康診断のついでにちょっと足を伸ばして隣のデカい市の図書館でEmacs本を借りてきた。地元で取り寄せてもらうと2週間で返さないといけないけど、直接だと2週間おきに(隣の市所属の)最寄りの図書館で一旦返却手続きをして、予約がないならその場でまたそこから2週間借りれるので!まあ、はっきり言って永久に繰り返せると思います、全く読まれてる気配無いのでw
![](https://blogimg.goo.ne.jp/user_image/77/44/1d8da98578efdad9af10d335b3ccd6b0.png)
情報が新旧錯綜していて苦戦していたAuto-completeですけど、この方法でとうとううまくいきました!ふ~
![](https://blogimg.goo.ne.jp/user_image/70/8c/4e7ad8501b122f28f3863608bbc68ac9.png)
他の方法としてEl-getなるパッケージ管理の方法が便利そうだったんですけど、結局うちの環境ではダメでした。El-get自体が使えない感じ・・
![](https://blogimg.goo.ne.jp/user_image/39/bc/2ef9eb2d3259ac647c9c904d2dccf2d7.png)
でけた~
ここからCametanさんへのリアクション
![](https://blogimg.goo.ne.jp/user_image/18/4e/99b198fee7dfbb55991aca4c91a65474.jpg)
えっ!そうだったんですね(・。・;
うーん、無意識で見慣れたfontを選んでしまったのかも知れん・・どうでも良いことを書いてしまったかな~とか思ってましたけど、Source han codeの事を教えてもらえたりと・・何でも書いてみるもんだなぁ・・。ちょっとEmacsへの導入調べてみます!
![](https://blogimg.goo.ne.jp/user_image/6b/25/bdabe7aa48ef5fafbe15a1e7a2a97876.jpg)
リンク貼っててもらったプログラマーへのインタビュー記事を読む(バイトの待機中にw)。Think GNUか・・思想を知るってことで読んでみるのも良いかもなぁ・・。なんかここ数日「貢献」ってキーワードが身の回りで飛び交ってるんですよね。
![](https://blogimg.goo.ne.jp/user_image/62/89/facea6b4f8cd219d26aec1079b1370f9.jpg)
面白かったので次の人も・・と思ったら例の河合さんだった。そうそう!最終的にはUnityとかUnrealだっけ?も面白そうだけど、基本がなってないとな~・・と。気になるのは、このハードとしてのCPUとかメモリの仕組みとか。これ、コンピューターはなぜ動くのか?って本の作者さんが言ってた「ハードが分かってると新しい言語とか概念が出て来ても楽に理解できる」って話(うろおぼえ)と通じるかな、と。
明日は詰まってる「日本語入力導入」やりますか~。これでとうとう環境作りは終わりや!
2022/04/06
Emacsの導入を続けるのであった
![](https://blogimg.goo.ne.jp/user_image/47/9e/94702b7d652f49eecb64c7483f128009.png)
とりあえずダークモードにしないと目が落ち着かないので・・ほうほうinit.elに書き込むんですね。deeper-blueだったかな?ネットを見るととりあえずチュートリアルは読めということなので・・読む(予定)
![](https://blogimg.goo.ne.jp/user_image/6d/07/735c5368e78738df69015444d5498c23.png)
悪戦苦闘して(具体的には参考にしたサイトが古くてパッケージサーバーが変更されてて、No matchにやられていた。更に言うとM-x後の入力で空白を入れてるのに-になる!と設定を確認しまくったり・・結局参考にしたサイトが package-install raibow-delimiters [ent]と書いてたので、てっきりそのまま入れると思ったらpackage-install [ent] で、出てきたプロンプトに以下を入れるというものだったりとか・・)
で、ようやく()の色付けに成功したのですが、最初表示が細すぎて色が変わってるのが分からなかったw。そこで強調表現するのと合わせてフォントの変更。いちいちinitに書き込むのかと思ったらCametanさんがおっしゃってたようにプルダウンメニューで変更が出来る模様!やっぱりコレが便利っすね。上の画像のフォントもシャレてて良かったが・・
![](https://blogimg.goo.ne.jp/user_image/17/20/31976f94e717e5109802c04431fb1994.png)
このMeiryouが好みかな!決定。今日はここまで・・全然コード打ってないやん!って感じだけど。
明日はAuto-complete導入とSchemeを実行できる環境作りと、健康診断で隣の市まで行くのでついでに図書館でEmacs本を借りてくるで。
ところで・・CametanさんがLispとの出会いについて書いてらしたんですが・・興味深いですね!以前Cametanさんが「学ぶべきはスタイル」と言うような事をおっしゃってたと思うんですが、スタイルって出来上がったコードからじゃなくてコード書く時の思考の流れとか(なのでBig-bangを使った12歳シリーズはすごく参考になると思うのですが)、もっと言うと思想とかを知ることで身につくと思うんで。
だからひょっとすると、動画で実際にプログラムを考えを独り言で口にしながら組んでいるところをダラダラ流してるのを見ると参考になったりしないのかな?とか思ったり。
2022/04/5
CametanさんのSpacemacsの設定を丸パクリしてみたんですが・・やっぱりダメでした(^_^;) やっぱりWindows10で他にも問題が出てる人がいるようだし無理っぽいな・・と。
ここからの選択肢は・・
1,もう一度Spacemacsの導入を最初からやり直してみる
2,Sciteを試してみる
3,生のEmacsを使ってみる
って感じかな。SpacemacsではCUAモードが封じられてるらしく(設定しようとしたらDaisableだぜ!と言われた)、やっぱりC-x C-v C-c C-z C-s あたりは手が覚えてしまってるからなあ・・と。
まずはSciTeを・・
![](https://blogimg.goo.ne.jp/user_image/2f/61/fa67d3f5d8131e8169d770de049f8217.png)
おっ!動作が軽い!Windowsからのクリップボードの共用も出来るし(Spacemacsは出来なかったような・・)!ただLispはCommon-lispであってSchemeじゃないんですよね。()のカラーリングも出来ないし・・
![](https://blogimg.goo.ne.jp/user_image/4c/84/687761b64d2e9ab656f26a1eb08f3bb8.png)
UIでカラーのカスタマイズが出来ないのでダークモードのサンプルを探して設定に書き込んだところ・・Lispだとこういう色使いか・・イマイチ!
![](https://blogimg.goo.ne.jp/user_image/2d/bc/1c2e904f65b3f4bba9f882ca78f4db8a.png)
![](https://blogimg.goo.ne.jp/user_image/3c/4b/5dfbff3b67957206b4864d90a7b5c144.png)
もう一つの可能性、生Emacsも入れ直してみる。これならCUAモードが使えるだろうし、多分()のカラーリングに自動補完も出来るだろうと。多分、生Emacsをカスタマイズするのが一番確実な方法だと思う。生だと日本語でも情報が多いだろうから・・やってみるか!