Rubyスクリプト中から
1 require "hoge"
されている hoge
のソースを見てみたい時には、
1 vim `gem which hoge`.rb
すると見つけてきてくれます。
Rubyスクリプト中から
1 require "hoge"
されている hoge
のソースを見てみたい時には、
1 vim `gem which hoge`.rb
すると見つけてきてくれます。
CDH3に同梱されているgen-rbファイル群は若干古いらしく、上手く動かないのでif/hadoopf
を使って手動で生成します。
1 % thrift --gen rb /path/to/if/hadoopfs .thrift
これで gen-rb/
ディレクトリの中にRuby用インターフェイスが生成されます。
monk-glue-
Rack::Relo
reload!
メソッドを以下のように修正したところ正常に動作することが確認できました。
1 def reload! 2 expanded_loaded_feat ures = $LOADED_FEA TURES.map do |path| 3 File.expand_pat h(path) 4 end 5 hash = Hash[expanded_l oaded_feat ures.zip($LOADED_FEA TURES)] 6 deletes = [] 7 files.each do |file| 8 if path = hash[File.expand_pat h(file)] 9 $LOADED_FEA TURES.delete(path) 10 end 11 end
$LOADED_FEA
に絶対パスと相対パスが混在していることがあるようで、
その場合にうまく処理できていないようでした。
$LOADED_FEA
The main reason of which I was felt in love with Merb is it uses same context for controller
The reason Rails3 doesn't is probably for caching.
If the view has many outer variables that affects its result, the cache key tends to be very complicate
But in these days, I am doubting the use of those caching.
Now we don't use browsers that has no capability
In conclusion
I added a new feature to irb_rocket
1 irb> 1 + 2 + 3 # Oh, I want to call "to_s" 2 irb> (1 + 2 + 3 # back to the head 3 irb> (1 + 2 + 3).to_s # return to the tail
I've experience
So I added the new feature named "irb_dollar
1 irb> require "irb_dollar" 2 irb> 1 + 2 + 3 $ to_s #=> "6"
Nice!
You can use "$" sign to make the left hand statement be receiver by installing
Enjoy :)
Links
MacOS 10.6でmysql gemを使っていると発生するようだ。
1 % sudo ARCHFLAGS="-arch x86_64" gem install mysql
こんな感じにgemをインストールすればokでした。
しばらくGemをリリースしてなかったですが、gemcutterを使って
以下のようにすれば、rubygems.o
1 % gem push pkg/hoge-x.y.z.gem
rubygems.o
Thorを使ってタスクを追加する場合、 通常以下のような感じで名前空間付きのタスクが追加されます。
1 "クラス名":"タスク名"
グローバルな名前空間にタスクを追加したい場合は、
"help" という名前のタスクを追加すれば良いようです。
中置記法と暗黙変換のコンビネーションでRubyの後置rescue的なものをScalaで実装してみました。
1 class Rescueable[A](a: => A) { 2 def rescue[B](b: => B) = try{a}catch{case _ => b} 3 } 4 5 implicit def anyToRescu eable[A](a: => A) = new Rescueable (a) 6 7 println("12341234".toLong rescue 0) // => 12341234 8 println("1234x1234".toLong rescue 0) // => 0
call-by-na
Update
bがcall-by-na
RubyistがScalaを簡単に把握できるように、
Google Spreadshee
気が向いたら項目を追加していきます。
だれでも編集できる状態なので、加筆修正welcomeです :)
See Also