Programming Languages and Systems.
会社からだから、走り書き。 特に推敲もしていない。一度も見直していない。 だが、これは限りなく本音に近いのだ。 ruby -rdebug hoge.rb よく使うコマンド break クラス:メソッド名 delete ブレークポイント解除 c ブレークポイントまで続行 l 該当ソースコード表示 n 次の行へ s 次の行へ、関数であれば中に入る p 画面にデバッグ表示 catch off 例外発生時に止まらなくする。 catch <Exception> 指定した例外発生時に停止 var l ローカル変数をすべて表示 良いところ rubyの標準モジュールが使えるところ。 irb 見たいな感覚で使える。 当然、デバッグ中に require 出来るので、 たとえば、pritty print したかったら require 'pp' pp @hoge とかもできるし、 require 'y' y @h
今、仕事でマルチスレッドな Ruby アプリケーションを書いている。 そのときにリファクタリングの過程で こんなのあったら便利じゃないのかなぁってのを 思いついたのでココに書いてみる。 とりあえず、普通に書くとマルチスレッドなアプリの イディオムは以下のようになると思う。 threads = [] 10.times{ threads << Thread.new{ puts "hello" } } threads.each{ |th| th.join } こいつをメソッドとして、抽出してみた。 def do_multi_threads(num, &block) threads = [] num.times{ threads << Thread.new{ block.call } } threads.each{ |th| th.join } end # メインコードはすごくシンプルになる。 d
昨晩の続き。じゃあ仕切り直してなんでRailsって生産性が高いっていうの?というお話です。 DB設計はやっぱり必要で、UIも考えなくちゃいけないうえ、自動生成は客寄せで、ワークフローエンジンもないけれども、Railsの強みって言うのは一つはまさにRubyで書けるということ。二つ目はシンプルな哲学に基づいたフルスタックなフレームワークがいまある、ということ。 言語重要 えっと、まず予防線を。JavaはダメでRuby最高、といいたいわけではなく。 Railsの強みはRubyのシンタックスの柔軟さから来るDSLっぽい記法や、Rubyの動的な側面から来る徹底的な(自動生成じゃない部分、手動で書くべきロジックの)コードの削減だったりするんじゃないかと。ブロックと遅延評価だったり、括弧が省略できることであったり、クラスがインスタンスであったり動的にメソッドが定義できたり、っていうのはすべて書きたいコー
Ruby用拡張ライブラリをCで作る Helloクラス Rubyのソースにしてみればおそろしく簡単な下記のソースを、今回はCで記述し てみることにする。 class Hello def hello print "Hello, Ruby World.\n" end end 完成品のソース(hello_rb.c) #include <stdio.h> #include <ruby.h> VALUE hello(void); Init_Hello(){ VALUE cHello; cHello = rb_define_class("Hello", rb_cObject); rb_define_method(cHello, "hello", hello, 0); } VALUE hello(void){ printf("Hello, Ruby World.\n"); return Qnil; } ソ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く