購読を始めるとコンテンツの最初のページから毎日1ページずつお届け。
のんびりペースで読むフィード。

rubyco(るびこ)の日記 2006年5月~12月

スポンサードリンク

 タグ Ruby rubyco プログラミング 勉強日記

 41ページ (41日間購読)

 1人購読中

  http://d.hatena.ne.jp/rubyco/

rubycoと同じペースでほほえみつつRuby。一段落後も続きます。第五集。

このフィードは部分配信フィードです。

このコンテンツに含まれるページ一覧

メソッド名自動生成 Danさんからお題が出ていたのでRubyで書いてみました。(Danさんのこのエントリ、なぜかトラックバックもコメントもできない…)直っていました。 class AsciiChar ...
Rubyist Hotlinks 角谷さんの好きなメソッド嫌いなメソッドを読んで。 Object#extend Module#includeはクラスへのMixinで、Object#extendはインスタンスへのMixin。 module Rubycolify def rubyco p self.to_s end...
二次元配列を縦に足す 二次元配列を列方向に処理を読んで作ったプログラム。 ar = Array.new DATA.each { |line| line.chomp!.split(/,/).each_with_index { |item, i| ar[i] or ar[i] = Array.new ar[i] << item.to_i } ...
Officeのイルカを動かすRubyスクリプトCommentsAdd Star カイルっていう名前のイルカを動かすRubyスクリプトだそうです。楽しい。 * イルカと遊ぼう ちなみに、DOLPHINをSAEKOにすると冴子...
マルチリンガルなシソーラス検索 たとえば、 HaskellのChar.isUpper関数に相当するRubyのメソッドは何だろう Schemeのstring->list関数に対応するRubyのメソッドは何だろう Rubyのsplitメソッ...
injectを使ったパスカルの三角形 id:epicsさんの続・パスカルの三角形を読んで「injectかっこいい」と思い、まねっこします。ただまねっこだとつまらないので、nil.coerceして、変数...
パスカルの三角形、もう少し epicsさんの続・パスカルの三角形の下の方に「挫折した方法」というのがあったので、そこから発展させてみました。ちょっと発想を変えまして…。...
yieldとProc#call MatzさんのyieldとProc#callを読んで。 Matzさんが書いていた、 Proc#yieldメソッドを導入 nil.yieldメソッドも用意。これが「no block given」のメッセージを出す という二点は、...
zipWithの自作 id:omochistさんのzipWithを読んで、私も書いてみました。。 対称的じゃないので、きれいじゃないけど、dupしないというメリットはあります。 def zipWith(xs, ys, &block) zipped ...
すべてのクラスを調べる ObjectSpace.each_object(Class)で全クラスをvisitできます。 ObjectSpace.each_object(Class) do |o| p o end 全クラスではなくExceptionクラスの子孫クラスだけを調べたいならば...
100までの整数から素数を列挙せよ 普通に実装。(追記:不等号、間違っていたので直しました)。 def prime(n = 100, &block) is_prime = Array.new(n + 1, true) is_prime[0] = false is_prime[1] = false (2..n).each...
10000までの完全数を列挙せよ エラトステネスの篩もよいけれど、別の問題もやろうよ。ということで「完全数」です。 def perfect(n = 100, &block) sum = Array.new(n + 1, 1) (2..n).each do |i| if i =...
冴子先生で素数 id:kkkkkkkkさんとartonさんのを見て「冴子先生で素数」を作りました。作ったといっても大半はartonさんのを写しただけですけれど…。 http://d.hatena.ne.jp/kkkkkkkk/20060620/...
Rubyのキラーアプリケーション ええと、RubyのキラーアプリケーションとしてはtDiaryが有名だけれど、近年それにRuby on Railsが加わったという理解でよいでしょうか。>識者のみなさ...
青木さんによるTropy添削 http://jp.rubyist.net/magazine/?0015-CodeReview るびま0015号の「あなたの Ruby コードを添削します」は、Tropyの添削です。 添削されるのは、rubycoの中の人(hyuki)で、添...
Colorize Test::Unit result http://subtech.g.hatena.ne.jp/youpy/20060818/p1 コンソール版のTestRunnerに色を付ける。コマンドラインなあなたにもグリーンバーを。 ところで、このプログラムを説明す...
Rubyを勉強しようとしている方CommentsAdd Star * http://d.hatena.ne.jp/mailishmaid/ Rubyを勉強しようとしている方のようですが、まとめ方が初心者っぽくない…。 トラックバックにてエールを...
Gems版ReFeインストールのまとめCommentsAdd Star Windowsマシンをリニューアルしたらrefeがどっかいっちゃったので再インストール。 以下の手順でインストールができました。 * 1. ActiveSc...
何が表示されるか? 何が表示されるか? ObjectSpace.each_object(Object) {|o| if o == o.class p o end } Permalink | コメント(0)
methods methodsメソッドで、そのオブジェクトのメソッド名のリストが得られます。 puts 1.methods.sort 実行結果です。 % & * ** (略) __id__ __send__ abs between? ceil chr class clone coerce (略) to_s to_sym...
Array#&で集合の積 配列同士の & をとると、集合の積になります。refe "Array#&" 参照。 以下では2の倍数twosと3の倍数threesの積をとって、6の倍数を得ています。 twos = [] threes = [] (0..10).e...
メソッドがどこで定義されているか putsはどこで定義されているかを踏まえて、メソッドがどこで定義されているかを無理矢理求めてみます。 class Method def where to_s =~ /#<Method: (\w+)(...
擬似変数__FILE__ 擬似変数__FILE__は現在のソースファイル名です。 「__FILE__と$0との比較」を「このスクリプトが直接実行されたかどうか」の判断に使うというイディオムがありま...
String#count String#countで指定した文字数をカウントします。 require 'pathname' p "Hello, Rubyco!".count('o') #=> 2 ('o'は2個ある) p 'こんにちは, るびこさん.'.count('こ') #=> 12 (日本語う...
平均値 ときどきの雑記帖 リターンズを見て、私も書いてみました。 srand(314159) data = Array.new(10) {|k| rand(100) } p data average = data.inject(0.0) {|sum, item| sum + item } / data.length puts "average = #{av...
コンマ区切りの文字列を逆順に コンマ区切りの文字列を逆順にします。splitしてreverseしてjoinすればよいですかね。最後のコンマはなくなります。 s = "Alice,Bobby,,David,Elmo," p s.split(/...
superを使わずにスーパークラスのメソッドを呼び出す サブクラスから自身がオーバーライドしたスーパークラスのメソッドを呼びたいときを読んで、私もやってみました。 class Mo...
単語の頻度を調べる class String def words(pattern=/\w+/) hash = Hash.new(0) self.scan pattern do |w| hash[w] += 1 end hash end end s = <<"EOD" We wish you a Merry Christmas, We wish you a Merry Christmas, We wish you a Merry Christ...
flattenせずに配列探索 配列をflattenせずに再帰的に探索するメソッドを書いてみました。でもあまり格好良くありません。 a = [ 1, 2, 3, [4, 5, 6], [7, [8, 9, 10]]] class Array def recurse_find(x) se...
インスタンス変数とアクセサ attr_readerで、インスタンス変数を読むメソッドが自動的に定義されます。attr_accessorでインスタンス変数へ代入するメソッドも定義されます。 class Pers...
実行文 よく思うんですけれど、Rubyのプログラムを読むとき(あるいは文法を理解するとき、でもよいですが)、「classもdefも実行文」と思うととてもよく理解できますね。一見宣言...
スーパーpreでシンタックス・ハイライト # 2(xy + yz + zx) = 3xyz where x, y, z : positive integer (1..10).each do |x| (x..10).each do |y| (y..10).each do |z| if x != y or y != z or z != x then if 2 * (x * y + y * z + z * x) =...
演算子を明示的にメソッド呼び出し 演算子をメソッドっぽく呼び出せます。 p 2.+(3) #=> 5 括弧を付けないと警告が出ます。 p 2.+ 3 # warning: parenthesize argument(s) for future version う...
グレイコード 何となくグレイコードを出力したくなって。 0.upto(31) do |k| printf "%05b\n", k ^ (k >> 1) end 実行結果です。 00000 00001 00011 00010 00110 00111 00101 00100 01100 01101 01111 01110 01010 01011 01...
パスワードの強度 奥村先生のパスワード再考というエントリを読んで、パスワードの強度をビット長で表すプログラムをRubyで書いてみました。 # Base 2 logarithm module Math def self.log2(...
フリップフロップ フリップフロップをRubyでやろうと思ったのですが、何だか汚くなってしまいました。 DATA.each do |s| if /^3/.match(s)../^5/.match(s) puts s end end __END__ 1111111111 2222222222 33333...
特異クラスの特異クラス 特異クラスの定義中にselfをグローバル変数に保存して、「特異クラスの特異クラスの…」を繰り返してみたくなりました。スーパークラスをたどるよう...
if-elseではまりました Rubyで5分ほどはまってしまったプログラム(のエッセンス抽出)。以下のプログラムはなぜCを表示するか? a = false b = true if a puts "A" elseif b puts "B" else puts "C" end #=>...
mathn mathnモジュールを使うと、Integerの / で割り切れないとき、自動的に結果がRationalになります。つまり、こういうことです。 p 4/2 #=> 2 p 1/2 #=> 0 require 'mathn' p 4/2 ...
るびこさんは何を見ながらRubyの勉強をしていますか? この日記を見ている読者さんから「るびこさんは何を見ながらRubyの勉強をしていますか?」という質問をいただきました。 え...
ダウンロードして読めるRubyの入門書(英語)CommentsAdd Star * http://www.humblelittlerubybook.com/ via Matzさんち
FAQ  利用規約  お問い合わせ  管理人ブログ  Copyright (c) 2006-2010 brass.to