Ruby入門勉強ルーム
2010年09月04日
Rubyでライフゲーム。 マス目の端を考えなくていいように、配列は上下左右とも実際のマス目より1大きくしておく。 コード N = 10 ALIVE = 1 DEAD = 0 # 8 x 8 のマス目、配列は、10 x 10 @board...
日時: 2010年09月04日 06:56
2010年07月05日
=追記(2010/07/23) Rubyベストプラクティスのひとり読書。理解が難しかった部分を中心にまとめています。 書籍から引用しすぎと思われたページ、理解したページなどを削除して、当初より公開ページを減らしました。すいません。 読書のま...
日時: 2010年07月05日 08:58
2010年06月28日
=追記(2010/07/23) Rubyベストプラクティスのひとり読書。理解が難しかった部分を中心にまとめています。 書籍から引用しすぎと思われたページ、理解したページなどを削除して、当初より公開ページを減らしました。すいません。 読書のま...
日時: 2010年06月28日 20:34
2010年06月24日
=追記(2010/07/23) Rubyベストプラクティスのひとり読書。理解が難しかった部分を中心にまとめています。 書籍から引用しすぎと思われたページ、理解したページなどを削除して、当初より公開ページを減らしました。すいません。 読書のま...
日時: 2010年06月24日 19:43
=追記(2010/07/23) Rubyベストプラクティスのひとり読書。理解が難しかった部分を中心にまとめています。 書籍から引用しすぎと思われたページ、理解したページなどを削除して、当初より公開ページを減らしました。すいません。 読書のま...
日時: 2010年06月24日 17:13
2010年06月23日
=追記(2010/07/23) Rubyベストプラクティスのひとり読書。理解が難しかった部分を中心にまとめています。 書籍から引用しすぎと思われたページ、理解したページなどを削除して、当初より公開ページを減らしました。すいません。 読書のま...
日時: 2010年06月23日 11:44
=追記(2010/07/23) Rubyベストプラクティスのひとり読書。理解が難しかった部分を中心にまとめています。 書籍から引用しすぎと思われたページ、理解したページなどを削除して、当初より公開ページを減らしました。すいません。 読書のま...
日時: 2010年06月23日 11:14
2010年06月18日
=追記(2010/07/23) Rubyベストプラクティスのひとり読書。理解が難しかった部分を中心にまとめています。 書籍から引用しすぎと思われたページ、理解したページなどを削除して、当初より公開ページを減らしました。すいません。 読書のま...
日時: 2010年06月18日 12:57
2010年04月08日
makeplex salon:あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定 (1/2) - ITmedia エンタープライズ 麻雀の手牌が入力として与えられたとき、「待ち」を出力するプログラムを書いてください。 前回の迷...
日時: 2010年04月08日 23:10
2010年03月21日
最初にこのRubyでの配列操作を見たときは、けっこう感動したのですが、ほんとRubyは直感で書けるところが素敵です。 ヒューマンフレンドリーな言語であり、人間の思考方法、思考回路に近いと感じます。 こういった書き方が可能なのは、演算子(Ru...
日時: 2010年03月21日 15:20
2010年01月17日
話題になっていた迷路問題をRubyで解いてみた。 人生を書き換える者すらいた。: 人材獲得作戦・4 試験問題ほか 情報系でもないしアルゴリズムも知らないので、Google先生で調べながら。 幅優先探索というアルゴリズムが分かりやすかったので...
日時: 2010年01月17日 00:51
2009年12月18日
Cygwin1.5にRuby1.7をソースからビルドして、コードリーディングを少しずつ進めていますが、今日はRuby1.7.3を実装しているCコードが何行あるのか調べてみた。 対象としたファイルは、拡張子がc, およびh(ヘッダーファイル)...
日時: 2009年12月18日 22:31
ソースコードの可視化のため、gnu globalをインストールしました。 GNU GLOBAL ソースコードタグシステム tips/40 - VimWiki ソースコードを快適に読むための GNU GLOBAL 入門 (前編) - まち...
日時: 2009年12月18日 18:54
2009年12月10日
ぼちぼち、Rubyソースコード完全解説を読むことにトライしようかと思い、解説で使われているRuby1.7を、WindowsXP上に入れているCygwin環境にソースからインストールしてみた。 以下から、該当バージョンのRubyのダウンロード...
日時: 2009年12月10日 19:39
2009年09月15日
Rubyのクラスは、Classクラスのインスタンスとなっていて、クラス自体も実はオブジェクト。 インスタンスであれば特異メソッドを定義できるわけで、Rubyのクラスメソッドとは、本当はClassクラスインスタンス(クラスオブジェクト)の特異...
日時: 2009年09月15日 17:37
ここまで、なぜか紹介し忘れていたので、とても便利なRuby実行方法「irb」について一言書いておきます。 Rubyには、Rubyのコードを書いて対話型に実行できる、irb というツールが標準で付属しています。 使い方は簡単で、コマンドプロン...
日時: 2009年09月15日 17:16
2009年09月08日
以下のページを参考にして、Ascii文字列を受け取り、Ascii文字コードの配列に変換するメソッドを定義する。 逆引きRuby - 文字列 文字列を[]で1文字だけ参照するとそのASCII文字のコード値が返却されます。 s = "R" p ...
日時: 2009年09月08日 15:53
2009年09月07日
ある特定のディレクトリ中に含まれるファイルの、ソースコードがトータルで何行あるかを調べる機会があったので、以下のコードを書いた。 あるディレクトリのソースコード行数のトータルを返す def count_line(path) count ...
日時: 2009年09月07日 18:42
2009年09月04日
FizzBuzz問題 どうしてプログラマに・・・プログラムが書けないのか? 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場...
日時: 2009年09月04日 17:26
2009年09月03日
情報はなぜビットなのか 知っておきたいコンピュータと情報処理の基礎知識 (単行本(ソフトカバー)) という本を読んでいたら、エイトクイーン問題というのが出てきて面白そうでした。 再帰関数の練習がてら、Rubyプログラムで解いてみることにチャ...
日時: 2009年09月03日 18:52
2009年08月28日
以前に、ディレクトリをオープンしてファイル名を読む - Ruby入門勉強ルームで、ディレクトリを再帰的に走査するために、再帰関数を作ってみた。 しかし、再帰関数を書くよりも、Dir.globやFind.findを使ったほうが簡単です。 以下...
日時: 2009年08月28日 14:13
2009年08月19日
Singletonインスタンスが生成されているかどうかをif 条件文で判定して、Singletonパターンをマルチスレッドに対応させることを考えてみた。 その場合、Mutexクラスを使えばできそうだ・・・ということで、Threadクラスでス...
日時: 2009年08月19日 14:44
2009年08月18日
前回、RubyでSingletonパターン考察1 - Ruby入門勉強ルームで、if 条件判定によるSingletonパターンを書いてみましたが、これはマルチスレッドの場合に複数インスタンスが生成されてしまう問題がありました。 Single...
日時: 2009年08月18日 22:45
Rubyでデザインパターンの一つである、Singletonパターンを考えてみる。 単純なSingletonパターン class Singleton @@singleton = nil # new をprivateにする pr...
日時: 2009年08月18日 22:17
Rubyでのマルチスレッド操作を少し勉強しました。 Threadクラスでただ単にスレッドを生成して実行した場合、共有リソースへの並列アクセスで、共有リソースのデータ不整合など問題が起こる場合がある。 Mutexを用いると排他的アクセスを実現...
日時: 2009年08月18日 21:30
2009年06月16日
Rubyだと、2進数、8進数、16進数、10進数の相互の変換も簡単に行える。 直感的で本当に分かりやすいと思う。 puts "10進数→指定した進数に変換" p 255.to_s(2) p 255.to_s(8...
日時: 2009年06月16日 15:16
2009年06月05日
以前、クラス定義でメソッドへのアクセス制限・public, private, protected - Ruby入門勉強ルームで、メソッドのアクセス指定の違いを解説したのですが、忘れっぽいのでおさらい。 Rubyの場合、privateとpro...
日時: 2009年06月05日 23:40
2009年05月08日
以前、loopメソッド - Ruby入門勉強ルームというエントリーで、loopはwhile trueと同義だと書いていたのですが、厳密には間違いでした。 繰り返しという目的においては類似しているが、変数のスコープが違います。 ご指摘を頂き気...
日時: 2009年05月08日 01:56
2009年02月16日
オブジェクトを作る場合、dup, clone メソッドを実行すると、元のオブジェクトからコピーしたオブジェクトが新規に作られます。 dup, clone は、オブジェクトのインスタンス変数をコピーする時に、浅いコピーを行い、値の参照をコピー...
日時: 2009年02月16日 23:55
Rubyでは、サブクラスでinitializeメソッド(C++やJavaでのコンストラクタに相当するメソッド)を定義しなかった場合、スーパークラスのinitializeメソッドが自動的に継承されます。 サブクラスでinitializeメソッ...
日時: 2009年02月16日 01:36
アーカイブ(過去の記事一覧)