Endo Akira
endo4****@goo*****
2012年 5月 21日 (月) 15:42:50 JST
須藤さま
さっそくありがとうございます。
ソースを覗き見したら!=があったので、すでに使ってみたのでしたが、
SEGVを起こすのです。どうもwindows rroogaは鬼門でしょうか。
先日教えていただきました、rroonga2.0.5をいれています。
rubyはrubyinstaller.orgの1.9.3p194(2012-04-20) [i386-mingw32]
です。実際に使うとも思えないので不要ではあるのですが。
遠藤
プログラム
require 'groonga'
Groonga::Context.default_options = {encoding: :utf8}
Groonga::Database.open("db/tmp/database.db")
items = Groonga["Items"]
sel = items.select{|r| r.content != 'gt'}
エラーメッセージの最初の方
test.rb:5: [BUG] Segmentation fault
ruby 1.9.3p194 (2012-04-20) [i386-mingw32]
-- Control frame information -----------------------------------------------
c:0004 p:---- s:0011 b:0011 l:000290 d:000290 CFUNC :select
c:0003 p:0083 s:0008 b:0008 l:00110c d:0000b4 EVAL test.rb:5
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:00110c d:00110c TOP
-- Ruby level backtrace information ----------------------------------------
test.rb:5:in `<main>'
test.rb:5:in `select'
-- C level backtrace information -------------------------------------------
C:\Windows\SysWOW64\ntdll.dll(ZwWaitForSingleObject+0x15) [0x777af8b1]
C:\Windows\syswow64\kernel32.dll(WaitForSingleObjectEx+0x43) [0x76121194]
C:\Windows\syswow64\kernel32.dll(WaitForSingleObject+0x12) [0x76121148]
C:\Ruby193\bin\msvcrt-ruby191.dll(rb_vm_bugreport+0xf9) [0x62e5c589]
C:\Ruby193\bin\msvcrt-ruby191.dll(rb_name_err_mesg_new+0x17a) [0x62d3a7e2]
C:\Ruby193\bin\msvcrt-ruby191.dll(rb_bug+0x2f) [0x62d3b4fb]
C:\Ruby193\bin\msvcrt-ruby191.dll(rb_check_safe_str+0x1a4) [0x62dee168]
[0x004011e6]
C:\Windows\syswow64\kernel32.dll(GetProfileStringW+0x12aa3) [0x7616003f]
C:\Windows\SysWOW64\ntdll.dll(RtlKnownExceptionFilter+0xb7) [0x778074df]
2012/05/21 (Mon) 14:36, "Kouhei Sutou" <kou****@clear*****> wrote:
> 須藤です。
>
> In <ff8d1782-3e45-3375-9a4a-bc809714b2d8 @ api105>
> "[groonga-dev,00891] マッチしないものを選択" on Mon, 21 May 2012 14:24:52 +0900,
> "Endo Akira" <endo4****@goo*****> wrote:
>
> > 非公開のメーリングリストの検索システム作成中です。できあがり
> > ましたら、概略をお知らせします。
>
> ありがとうございます!
>
> > 従来のものが検索語でのnot指定を許しているので、rroongaでも
> > 実装したいのですが、どのようにすればいいでしょうか。andと
> > orと()もあって、これらは何とか実装しましたが、notが残って
> > しまいました。
> >
> > not abc
> > という検索語で、abcを含まないものを探したいわけなのですが。
>
> Ruby 1.9を使っていれば以下で実現できます!
>
> table.select do |record|
> record.column != "abc"
> end
>
> ただ、notはわりと重めの処理なので気をつけてください!
>
>
> --
> 須藤 功平 <kou****@clear*****>
> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270)
>
> プログラミングが好きなソフトウェア開発者を募集中:
> http://www.clear-code.com/recruitment/
>
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
>