タグ

ブックマーク / nyaxt.hatenadiary.org (3)

  • 2008-02-15

    早速参加した。参考書籍にちょっと加筆してみた。 http://rendering.g.hatena.ne.jp/ id:senna_hppさんGJです。 extconf.rb(mkmf.rb)で作ったMakefileだとC++標準ライブラリのヘッダーがなぜか読めなくなったり、Autoconfと思いっきり内容がかぶるのでAutotoolsオンリーでRuby拡張を作ってみた。 基的にはruby.hインクルードしてlibrubyにリンクするだけなのだが、Mac OSX環境だとちょっとした問題が生じたのでメモ。 libtool + autotoolsの環境では、デフォルトでdylibタイプの共有ライブラリが作成されてしまうので、LDFLAGS=-moduleを渡して、bundleタイプで作ってやる必要がある。しかし、出力ファイルがなぜか.soで出力されてしまい、これがOSX添付のRubyだと読み

    2008-02-15
  • Inheritable Attributesについて - nyaxtのPC作業ログ

    元ネタ:http://railstips.org/2006/11/18/class-and-instance-variables-in-ruby Ruby on Railsでの実装:http://www.koders.com/ruby/fid1F286C43B89819E4D009281393E1ECAAC371B700.aspx?s=def#L10 クラス変数とクラスのインスタンス変数の中間的なもの。 おさらい:クラス変数の挙動 class Polygon @@sides = 10 def self.sides @@sides end end puts Polygon.sides # => 10 class Rectangle < Polygon @@sides = 4 end puts Polygon.sides # => 4 クラス変数はこのように親/サブクラスで共通なので、サブクラ

    Inheritable Attributesについて - nyaxtのPC作業ログ
    noplans
    noplans 2008/03/06
  • やってみた。 - nyaxtのPC作業ログ

    ということで、ここで問題。以下の二つのプログラムをfor/whileを使わずにイテレータで書き直してみていただきたい。私はどちらの例も、イテレータで書いた方がずっと美しいと思うのだが、いかがだろう。 http://satoshi.blogs.com/life/2007/10/ruby.html 題意無視だけど、これにイテレータつかうことはないと思うなぁ。 #!/usr/bin/env ruby def hello(to, *mesg) puts "Hello, #{to}." puts '-- message --' puts mesg.join("\n") end hello('World', 'msg1', 'msg2', 'msg3') def fact(n) (1..n).inject(1) {|r, i| r*i} end p fact(0) p fact(1) p fact(3

    やってみた。 - nyaxtのPC作業ログ
    noplans
    noplans 2007/10/25
  • 1