2009-08-01から1ヶ月間の記事一覧

下記の内容のcsvファイルを読み込んで教科ごとの平均点を求めるプログラムを作りました。 #生徒番号,国語,数学,英語 10101,80,70,90 10102,90,50,80 10103,70,70,90 10104,100,100,100 10105,60,100,80 10106,80,80,70 ここで、エラーが出ました。悩んだのは…

ssh-agentを使ってみた

いつもRubyを勉強していましたが、今日はsshのことを書きます。sshで頭がごっちゃになっているので、ここで整理します。メモ書きになっちゃうけど、気にしない!ssh-agentとは公開鍵認証で使われる認証鍵を保持するプログラムです。例えば、サーバが複数ある…

RubyでBITMAPファイルを作る

BITMAPをつくるプログラムを作りました。BITMAPFILEHEADER BITMAPINFO BITMAPINFOHEADER RGBQUAD BITMAPFILEHEADER ファイルの先頭から14バイトに置かれ、ファイルタイプ・ファイルサイズ・予約領域2つ・オフセットでできています。予約領域とは、のちのバー…

csvを読み込んでみた

words.csvを読み込んで「いつどこでだれがだれと何をした」を表示するプログラムを書いてみた。 csvファイルはこんな感じ。 #いつ,どこで,誰が,誰と,何をした # 子供の歌 ある日,森の中,女の子,クマさん,出会った 春の朝,山の中,クマさん,,目が覚めた 祭りの…

Rubyのリファレンスマニュアルをいぢってみた

組み込みクラス Rubyにあらかじめ用意されているクラス 添付ライブラリ 組み込みクラスとは別に、多数のクラスが独立したファイル ミキシン サブクラスによって継承される機能を提供し、単体で動作することを意図しないクラス。機能を他のクラスから集めるた…

Ruby exist?()の罠にはまった

Rubyで 現在いるディレクトリ内にenglishディレクトリがあるかどうか確認する。なければ作る。そんなプログラムをかきました。 ENGLISH_DIR = "english" Dir.foreach(".") do |file| if file != File.exist?(ENGLISH_DIR) next else Dir.mkdir(ENGLISH_DIR) …

オブジェクト指向勉強した

今日はオブジェクト指向の勉強しました。これに関するまとめを言葉で表すのは限界があったので、私の落書き(下記の画像)を添えました。オブジェクト指向で覚えておきたい単語 オブジェクト 処理対象のデータ。クラスを基に作成される。 クラス オブジェクト…

Ruby:ブロックの使い方

あるファイルを開きます。先頭の行に"# enconfig: cp932"を書き加えます。 書き加えたファイルを"ファイル名.new"、"ファイル名.old"とします。そんなプログラムを書いたRubyコードがこれ。 1 def add_magic_comment(file) 2 File.open("#{file}.new", "w") …

eratosthenesのふるいをRubyで書く

エラトステネスのふるいを利用して素数を集めるプログラムを書きました。 条件 素数リストnums 探索リスト内の素数を記録 探索リストprime 入力された上限値以下の整数を並べたリスト インデックスと探索リストの要素が一致するようにする for式を利用してi…

Rubyでハッシュ

今日はハッシュの勉強しました。これ、しっくりこないことが多かったです。 ハッシュ データ管理用のデータ。要素の参照にキーを設定する。 キーを初期化しておく方法 ハッシュの書き方は2通りあります。 STONE = {} STONE["January"]= "ガーネット" あらか…

戻り値の話

関数から複数の値を返す方法 ・配列そのものを戻り値とする ・returnで複数の値を指定する return式で複数の値を返す方法では、Rubyが内部で配列を作成します。この配列は"[]"を置かなくてもいい。こんな事が本に書いてあったのですが・・・。「returnで返す…

配列の長さを求める

再帰呼び出しで配列の長さを調べるプログラムがありました。これをwhileを使ったものに直しなさいって、問題でつまづいた・・・。 再帰は配列の要素数をひとつひとつ数えるためにループするよう使っていました。 def array_length(array) if array == [] 0 e…

配列と変数で勘違いしてた

このひとつ前の記事「配列」で勘違いな事書いてました。配列と変数を教えていただいて、この記事のアホさに気づき苦笑しております。修正したいけどこんなアホな勘違いする奴も世の中にはいるってことで、あえて修正しません。思い出を形にしましょう〜 さて…

配列

今日は配列の話でした。配列って変数より便利だけど気を使います。なんでかって言うと、インデックスとか、初期化を常に意識していないといけないから。その点変数は名前のつけ方だけ気にすればいいので、変数のほうが使いやすい。ですが、便利なのは配列。 …

プログラムに「意味のない行」なんてない

今日は先輩たちにコードレビューをしてもらいました。 勉強になりました。ありがとうございました。勉強になった点 数字はあまり使わない(マジックナンバー) 直感的なコードを書く コードに意味を持たせる 以上はコードを書く上で、大切なことだと学びました…