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

umaskについて

umaskを教えていただいたので、メモ | user | group | othre | | rwx | rwx | rwx | | 111 | 111 | 111 | | 7 | 7 | 7 |(dirのデフォルト) | 6 | 6 | 6 |(fileのデフォルト)umaskを設定するとデフォルトから、指定した権限を抜くことになる。 umask 002 | us…

ポリモーフィズム

1 # encoding:cp932$ 2 $ 3 ["文字列", 1234567, Dir.open("."), :symbol, [1, 2, 3, 4, 5], {"1" => 1, "2" => 2}].each() do |e|$ 4 puts("#{e}")$ 5 puts(e.to_s())$ 6 end$ 4行目の#{}と5行目のto_s()を比較する。 to_s()はObjectクラスで定義されていて…

Benchmark::Report.#reportとBenchmark.#measure

Benchmark::Repot.#reportのコード require 'benchmark' puts Benchmark::CAPTION puts Benchmark.measure { "a"*1_000_000 } => user system total real 1.166667 0.050000 1.216667 ( 0.571355) Benchmark.#measureのコード require 'benchmark' n = 50000…

カプセル化されたオブジェクト

プレーヤーとコンピューターで3回勝負のじゃんけんをします。その時の処理を言葉で書くと以下の考え方になります。 プレーヤの勝数が3以上であれば「プレーヤーの勝利」と表示、コンピュータの勝数が3以上であれば「コンピュータの勝利」と表示する これを、…

classについて

classには以下の役割がある。 + オブジェクトが持つデータの情報を変数・定数にまとめる + オブジェクトが持つ手続きをメソッドにまとめる + インスタンスを作成するためのnewクラスメソッドの提供 クラスを定義することで、抽象的な概念を分類し名前を付け…

sortのブロックを使う素晴らしさ

sort関数では、引数にブロックを使います。なんでかと言うと、様々な順序で並び変えができるようにするためです。 例えばsort関数を使わないで自作でクイックソートの関数を作ります。以下はその一部分です。 def partitioning(data, pivot, left, right) wh…

ってなんじゃ

Rubyのインスタンスメソッドにというメソッドがあります。見た時なんじゃコレとか思った。 self と other を ASCII コード順で比較して、 self が大きい時には正の整数、等しい時には 0、小さい時には負の整数を返します。 レシーバはstringからファイルの更…