自習部屋 このページをアンテナに追加 RSSフィード

2009-03-18

インスタンスのクラス判定

| 13:50 | インスタンスのクラス判定 - 自習部屋 を含むブックマーク はてなブックマーク - インスタンスのクラス判定 - 自習部屋 インスタンスのクラス判定 - 自習部屋 のブックマークコメント

// インスタンスのクラス判定
[object isKindOfClass:[NSString class]
トラックバック - http://studyroom.g.hatena.ne.jp/kusakari/20090318

2009-03-02

OpenCV 画像処理

| 01:08 | OpenCV 画像処理 - 自習部屋 を含むブックマーク はてなブックマーク - OpenCV 画像処理 - 自習部屋 OpenCV 画像処理 - 自習部屋 のブックマークコメント

調査中…。

// 画像ロード
pImageSrc = cvLoadImage( cFileName, 1 );
// 表示
cvNamedWindow( "オリジナル画像", CV_WINDOW_AUTOSIZE );
cvShowImage( "オリジナル画像", pImageSrc );
// メモリ確保
// 解像度、色の濃さ、チャンネル数
pImageGray = cvCreateImage(  cs , IPL_DEPTH_8U, 1 );
// 初期化
cvSetZero( pImageGray );
// 色空間変換
cvCvtColor( pImageSrc, pImageGray, CV_RGB2GRAY );
// 
cvSmooth
トラックバック - http://studyroom.g.hatena.ne.jp/kusakari/20090302

2009-01-30

動的文字列からインスタンスを作る

| 11:25 | 動的文字列からインスタンスを作る - 自習部屋 を含むブックマーク はてなブックマーク - 動的文字列からインスタンスを作る - 自習部屋 動的文字列からインスタンスを作る - 自習部屋 のブックマークコメント

will_paginate より

renderer_class = options[:renderer].to_s.constantize
renderer = renderer_class.new collection, options, self

手っ取り早くランダム文字列を得る

| 10:39 | 手っ取り早くランダム文字列を得る - 自習部屋 を含むブックマーク はてなブックマーク - 手っ取り早くランダム文字列を得る - 自習部屋 手っ取り早くランダム文字列を得る - 自習部屋 のブックマークコメント

require 'digest/sha1'
str = Digest::SHA1.hexdigest(Time.now.to_s.split(//).sort_by {rand}.join)

もしくは

require 'digest/sha1'
def secure_digest(*args)
  Digest::SHA1.hexdigest(args.flatten.join('--'))
end

def make_token
  secure_digest(Time.now, (1..10).map{ rand.to_s })
end
トラックバック - http://studyroom.g.hatena.ne.jp/kusakari/20090130

2009-01-26

core_ext/time/calculations.rb

| 01:46 | core_ext/time/calculations.rb - 自習部屋 を含むブックマーク はてなブックマーク - core_ext/time/calculations.rb - 自習部屋 core_ext/time/calculations.rb - 自習部屋 のブックマークコメント

# 月の日数を取得
Time.days_in_month(2, 2004) # 29
# 時間変更
Time.change(:min => 31)
トラックバック - http://studyroom.g.hatena.ne.jp/kusakari/20090126

2008-12-17

例外を発生させる3つの方法

| 00:45 | 例外を発生させる3つの方法 - 自習部屋 を含むブックマーク はてなブックマーク - 例外を発生させる3つの方法 - 自習部屋 例外を発生させる3つの方法 - 自習部屋 のブックマークコメント

raise 
raise 文字列
raise thing, 文字列, スタックトレース

1番上の場合、$! に格納されている例外を発生させる。

2番目の場合、指定文字列でRuntimeError 例外を発生させる。

ブロックを Proc に変換する3つの方法

| 00:40 | ブロックを Proc に変換する3つの方法 - 自習部屋 を含むブックマーク はてなブックマーク - ブロックを Proc に変換する3つの方法 - 自習部屋 ブロックを Proc に変換する3つの方法 - 自習部屋 のブックマークコメント

最後の引数に & がついたメソッドにブロックを渡す

def method(p1, p2, &block)

ブロック付きで Proc.new を呼び出す

block = Proc.new { "test" }

ブロック付きで Kernel.lambda メソッドを呼び出す

block = lambda { "test" }
トラックバック - http://studyroom.g.hatena.ne.jp/kusakari/20081217