2013-02-16 5 views
-1

이 방법이 효과적이지만 제대로 보이지는 않습니다. 내가 무엇을 놓치고 있는지 또는 어떻게 든이를 단순화 할 수 있는지 궁금해하고 있었습니까?블록에 변수가 필요한 경우 블록을 메서드에 전달

초록 멀리 $redis 물건.

def redis_with_connection(&block) 
    $redis.with_connection { |conn| yield(conn) } 
    # perhaps do other stuff like begin/rescue, etc. 
end 

그럼 난 내 응용 프로그램 그냥 .with_connection 방법에 블록을 전달하는 경우이 변수를 산출 할 필요가 없습니다

redis_with_connection do |conn| # is this conn variable necessary here? 
    conn.set # do stuff with the connection 
end 

답변

2

이를 호출 할 수 있습니다. 대신 블록을 인수로 전달하면됩니다.

def redis_with_connection(&block) 
    $redis.with_connection(&block) 
    # etc ... 
end 
관련 문제