我有一個函數比較2字符串字符char。我需要它運行得比Ruby更快,所以我使用RubyInline來重寫C中的函數。它的速度確實提高了大約100倍。功能如下所示:如何使用RubyInline將ruby數組轉換爲C數組?
require 'inline'
inline do |builder|
builder.c "
static int distance(char *s, char *t){
...
}"
end
但是我需要比較unicode字符串。所以我決定使用unpack(「U *」)來比較整數數組。我無法從稀少的文檔中找到RubyInline如何將ruby數組傳遞給函數以及如何將它們轉換爲C數組。任何幫助表示讚賞!
幫助沒問題,讓我知道結果如何。希望在完成時看到您的實施。 – 2009-07-13 17:38:43
這裏是damerau_levenshtein距離代碼: http://gist.github.com/147023 對Ruby 1.8.7的作品就像一個魅力,但扼流圈1.9.1 – dimus 2009-07-14 15:51:20
我更新的http://要點。 github.com/147023與1.9.1 ruby一起使用以及使用thnetos的幫助 – dimus 2009-07-15 21:30:31