作者: rubikitch
日時: 2006/4/07(12:01)
From: DZE04102@... (sugi)
Subject: [TSruby:194] 拡張ライブラリで質問
Date: Fri,  7 Apr 2006 11:06:15 +0900 (JST)

> def hoge(lines,pt)
>   return lines.collect{|e| 
>     [e[0]+pt[0],e[1]+pt[1],
>       e[2]+pt[0],e[3]+pt[1]]}
> end
> 
> lines=[[1,2,3,4],[5,6,7,8]]
> pt=[2,1]
> p hoge(lines,pt) # => [[3, 3, 5, 5], [7, 7, 9, 9]]

こういう問題ならばわざわざCで書かなくてもNArrayという拡張ライブラリを
利用するといいと思います。NArrayはCの配列にいろいろと演算を定義したも
のです。Rubyの配列をCで扱うよりも速いと思われます。

> というような hoge をC言語で書くにはどうすれば良いのでしょう
> か。

README.EXT.jaを読みました?昔自分が初めて拡張ライブラリを書いたとき、
それだけを唯一の情報源として頼りにしていました。array.cも参考になると
思います。

--
rubikitch
http://www.rubyist.net/~rubikitch/