しがない学生の雑記

吐けども吐けども毒を吐く。

UbuntuとvimとRubyたんとお付き合いを始めました 第3週

こんばんは。今日もUbuntuFirefoxから書いています。

 

初めての方へ

本当にど素人が書いています。過度な期待はしないでください。

 

一応毎週土曜日更新を目標にしているのですが、今週は艦これとかでいろいろとサボり気味だったので本日更新します。

 

Rubyの方はある程度やっていたのですが、うまいぐあいに例題を出してくれるようなサイトが見つけられなかったので(前回の@ITの連載は今あるぶんだけ終わらせました)、ついでに勉強したかったアルゴリズムの本を読んでいました。

 

図書館で見た瞬間に即借りした一冊がこちら。

 

アルゴリズムを、はじめよう

アルゴリズムを、はじめよう

 

 

8割がた読んだのですが、プログラミング初学者に教えるぐらいわかりやすく書かれていて非常に読みやすかったです。下手すれば小学生でも読めちゃうと思います。ただサンプルコードがほとんど載っていないため、実際にCで書いてみようとするとかなりあたふたしてしまいました。やっぱり技量の問題ですね。

 

で、今後Rubyの勉強をするのに参考にしようと思った書籍はこちら。こちらも図書館で借りたものです。

 

独習Ruby

独習Ruby

 

 

例題、問題、解答が載っているので、とりあえずこれ読みながらRubyに慣れていこうと思います。さっき書いたCのアルゴリズムRubyで書いてみるなんてこともしたいですね。

 

とりあえず今週はクイックソートをCで書いてみたんですがこれがしんどかった。理解しているはずなのにコードにしようとするととたんに出てこなくなりますね。要するに理解できていないってことです。

 

いろいろ見ながら書ききったのはいいんですが、やっぱりでてきたこれ。

 

Segmentation fault (コアダンプ)

 

C言語久しぶりに書いていたので、見た瞬間に「あぁ、あぁ...…!!!お前……!!!」と親の敵を見たような表情になりました。

 

よくよく思い出すとprintfデバッグでなんとかしていた記憶がすごい強いんですが、さすがにそれはもう卒業したいのでgdbをつかいました。

 

gdbたん「この行のここがおかしいよー」

 

printfデバッグばかりしていた私には衝撃的でした。というかなぜこんな便利なものがあるのに学校の先生は教えなかったんだ!そればかりが疑問に残りますが、とにかく修正することが出来ました。やったぜ。

 

 今日はこのあと、エラトステネスのふるいをCで書いて、そのあと両方共Rubyに書きなおしてみるつもりです。できるだけRubyらしく書きたいところですが、はたして。

 

それでは ノシ