197X:14 (2008-04-06)takkaw : http://d.hatena.ne.jp/takkaw/次: sm2910003(mootoh) 最初: sm2902286(gothedistance) マイリスト: mylist/6018192第1回 197X's オフパーティー: http://tinyurl.com/2u5vs7
一応説明しておくと、私自身はRubyCamp2010とはまったく関係ありません。ただ島根県の某人(中の人とも言う)と知り合いで気になっている人です。 追加で言うと学生支援を全国のIT勉強会で実施していて、こういう学生へのプログラミングの合宿とかには全力応援したいと思っている人です。それだけでまとめてみましたw*1 公式サイト 大学、高等専門学校、高等学校の学生等を対象に、松江市在住のまつもとゆきひろ氏が開発したオープンソースのプログラミング言語「Ruby」を学ぶ、5日間の合宿形式の講座を3回開催します。 県内のIT企業の方々にも参加してもらい、参加学生と企業が意見交換を行うなど、交流する機会を設けることとしています。 http://www.pref.shimane.lg.jp/sangyo/rubycamp.html 開催後ですが、ハッシュタグクラウドに登録。。。。orz #rubycam
Rubyベストプラクティスの5-4より.メタプログラミングの例として面白かったのでまとめてみる. メモ化とは メモ化とは,引数に対するメソッドの戻り値を保存しておき,再び同じ引数でメソッドが呼び出された時にその値を再利用することにより,同じ計算を何度もすることを防ぐ最適化手法のひとつ.全ての引数に対しメソッドの結果が不変の場合(同じ引数で何度呼び出しても毎回同じ戻り値を返す場合),メソッドをメモ化することができる. 以下はフィボナッチ数を再帰で計算するメソッドfibの例. def fib(n) (0..1).include?(n) ? n : fib(n-2) + fib(n-1); end この実装の場合,例えばfib(n)はn = 3で5回,n = 4で9回というように,nの値が大きくなるにつれて再帰呼び出し回数がどんどん増え,実行時間が爆発的に増大してしまう.私の環境だとfib(30
2010年08月24日23:45 カテゴリ書評/画評/品評Lightweight Languages ネタベタオタの上には - 書評 - メタプログラミングRuby 出版社より献本御礼。 メタプログラミングRuby Paolo Perrotta / 角征典 [原著:Metaprogramming Ruby] 「ただの」プログラマーで終わりたくない人、必携。 Rubyistsはもとより、そうでない人も。 むしろRuby以外のプログラミング言語をホームグラウンドにしている人は、Rubyistsよりもさらに得るところが大きいかもしれない。「私の言語ではどうやる?」を考え、実際にやってみることで、Rubyも「母国語」も理解が深まるのだから。 本書「メタプログラミングRuby」は、Rubyにおけるメタプログラミングを物語形式で学ぶ一冊。舞台はRubyを使っているある会社。平凡なプログラマー、ボブは、
Rubyで作るDSLの基礎Yasuko Ohba (Everyleaf Corporation)RubyはDSLを作りやすい言語として知られています。実際に、DSLを作るのは簡単です。しかし、Rubyで意識的にDSLを作ったことのある人は意外に少ないのかもしれません。 Rubyで実現するDSLは、「使いやすいAPI」の一形態であり、ここから先がDSLだという明確な境界はありませんが、結果として出来上がったコードがDSL的かどうかは歴然と判断できます。つまり、コードをDSL的にするかどうかは開発者が意図的に選択していける事柄なのです。 本セッションでは、DSLとは何か、どんなときにDSLが有効かからはじめて、RubyでDSLを書く際に必要となる考え方、習慣、そしてテクニックを、 Rails や RSpec といった良く知られたコードを例にして話していきます。
■ Perl基礎文法最速マスターをだいたいそのまま、Rubyに置き換えてみました。 他の言語をある程度知っている人はこれを読めばRubyの基礎をマスターしてRubyを書くことができるようになる…かも知れません。無保証です。 参考: オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (1.9.2) オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (1.8.7) ■ 1. 基礎 インタラクティブRuby (irb) irbを使うと、Rubyのプログラムを簡単に練習することができます。 /Users/yhara $ irb irb(main):001:0> puts "hello" hello => nil irb(main):002:0> 1 + 1 => 2 以下の説明は、irbを起動して、自分で試しながら読むと習得が早いと思います。 表示 (print,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く