[#45036] WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError) — adgjmptw@...

多田と申します。

22 messages 2008/06/12
[#45038] Re: WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError) — rubikitch@... 2008/06/12

From: adgjmptw@super-r.net

[#45040] Re: WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError) — adgjmptw@... 2008/06/12

> (3)ロードパスに C:/usr/local/lib/ruby/site_ruby/1.8/i386-msvcrt が

[#45042] Re: WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError) — rubikitch@... 2008/06/12

From: adgjmptw@super-r.net

[#45045] Re: WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError) — adgjmptw@... 2008/06/13

原因と思われるものがわかりました。

[#45052] Re: WindowsでMySQL/Rubyを使おうとするとmysql.so (LoadError) — とみたまさひろ <tommy@...> 2008/06/13

とみたです。

[#45099] Ruby 1.9.0/1.8.7/1.8.6/1.8.5 new releases (Security Fix) — Urabe Shyouhei <shyouhei@...>

Hi all.

20 messages 2008/06/20
[#45100] Re: Ruby 1.9.0/1.8.7/1.8.6/1.8.5 new releases (Security Fix) — Urabe Shyouhei <shyouhei@...> 2008/06/20

卜部です。

[#45102] Re: Ruby 1.9.0/1.8.7/1.8.6/1.8.5 new releases (Security Fix) — 植田 裕之 <ueda@...> 2008/06/20

植田と申します。

[#45106] Re: Ruby 1.9.0/1.8.7/1.8.6/1.8.5 new releases (Security Fix) — akira yamada / やまだあきら <akira@...> 2008/06/21

植田 裕之 さんは書きました:

[#45112] ソース:インストール:MacOSX10.3.9 — 上間 健 <tntn@...>

./configure --prefix=/usr/local --with-readline-dir=/opt/local

46 messages 2008/06/22
[#45113] Re: ソース:インストール:MacOSX10.3.9 — 上間 健 <tntn@...> 2008/06/22

質問をゆるやかに変更

[#45114] Re: ソース:インストール:MacOSX10.3.9 — wei <weimayamiew@...> 2008/06/23

今晩は、ヱイと申します。

[#45122] Re: ソース:インストール:MacOSX10.3.9 — 上間 健 <tntn@...> 2008/06/24

ヱイ さん

[#45131] Re: ソース:インストール:MacOSX10.3.9 — Hidetoshi NAGAI <nagai@...> 2008/06/24

Ruby/Tk メンテナの永井@知能.九工大です.

[#45143] Re: ソース:インストール:MacOSX10.3.9 — Ryutaro Amano <wn9r-amn@...> 2008/06/26

天野です。

[#45146] Re: ソース:インストール:MacOSX10.3.9 — Hidetoshi NAGAI <nagai@...> 2008/06/26

永井@知能.九工大です.

[#45149] Re: ソース:インストール:MacOSX10.3.9 — Ryutaro Amano <wn9r-amn@...> 2008/06/27

天野です。

[#45152] Re: ソース:インストール:MacOSX10.3.9 — Hidetoshi NAGAI <nagai@...> 2008/06/29

永井@知能.九工大です.

[#45184] Re: ソース:インストール:MacOSX10.3.9 — Ryutaro Amano <wn9r-amn@...> 2008/07/03

天野です。RES遅くなり申し訳ありません。

[#45186] Re: ソース:インストール:MacOSX10.3.9 — Hidetoshi NAGAI <nagai@...> 2008/07/04

永井@知能.九工大です.

[#45192] Re: ソース:インストール:MacOSX10.3.9 — wei <weimayamiew@...> 2008/07/04

ヱイです。

[#45193] Re: ソース:インストール:MacOSX10.3.9 — Hidetoshi NAGAI <nagai@...> 2008/07/04

永井@知能.九工大です.

[#45157] MySQLに書き込む前にSJISのエスケープ文字を入れる処理ってどうされてますか? — adgjmptw@...

多田です。

12 messages 2008/06/29
[#45158] Re: MySQLに書き込む前にSJISのエスケープ文字を入れる処理ってどうされてますか? — rubikitch@... 2008/06/29

From: adgjmptw@super-r.net

[#45159] Re: MySQLに書き込む前にSJISのエスケープ文字を入れる処理ってどうされてますか? — adgjmptw@... 2008/06/29

> str.tosjis # Shift_JISに変換(入力文字コードは推測)

[ruby-list:45166] Re: MySQLに書き込む前にSJISのエスケープ文字を入れる処理ってどうされてますか?

From: rubikitch@...
Date: 2008-06-30 08:59:12 UTC
List: ruby-list #45166
From: adgjmptw@super-r.net
Subject: [ruby-list:45162] Re: MySQLに書き込む前にSJISのエスケープ文字を入れる処理ってどうされてますか?
Date: Mon, 30 Jun 2008 07:45:35 +0900

> んな無茶な... と思ってたら、Rubyって元のクラスを上書きできるんですね。
> なんか恐いけど便利そうなんでとりあえず使ってみました。

これがオープンクラス。
既存のクラスにメソッドを追加するとき、既存のメソッドやインスタンス変数と
かぶらないよう気をつければ、オープンクラスは味方になってくれます。
逆に、かぶってしまうと見付けづらいバグになります。

> どうせならconnectとcloseも一気にやってくれたほうが便利なので、
> こんなクラスにしてみました。

まあ、ほんとはブロック使うべきですがそれは次の段階ということで。

>  def runsql(sql)
>   require "kconv"      #んーここでrequireかぁ...
> 
>   # UTFに変換
>   @sql=sql.toutf8 if @dbchar == "UTF-8"
> 
>   #SQL発行
>   self.connect("#{@dbh}","#{@dbu}","#{@dbp}","#{@dbn}")
>   @cursol=self.query @sql
>   self.close
> 
>     # SJISに変換... できねぇ
>   #@cur=@cursol.each{ |elm| elm.tosjis } #これができない
>   @cur=@cursol #とりあえずUTF-8のまま返す
>   return @cur
>  end

eachの代わりにmapを使えばいいという指摘は既出なのでおいといて、
この場合わざわざインスタンス変数にする意味がないと思います。
@sql、@cursor、@curはローカル変数で十分です。

> self.connect("#{@dbh}","#{@dbu}","#{@dbp}","#{@dbn}")
ここも式展開を使うまでもなく、普通に変数で指定すればよい。

self.connect @dbh, @dbu, @dbp, @dbn

欲を言えばこれらのインスタンス変数名も @_host, @_user, @_pass 等の名前にすれば
読みやすいと思います。アンダーラインをつけているのはかぶるのを防ぐためです。

> # mainここから ==================
> require "mysql"
> require "lib/classup.rb"
> 
> db.setparm("localhost","user","password","testdb","UTF-8","SJIS")
> @sql="SQL文"
> @cur=db.runsql @sql
> # mainここまで ==================

ここもローカル変数にしましょう。
というかdbが未定義だから、
undefined local variable or method `db' for main:Object (NameError)
というエラーになるのでは?


> ・runsqlの中でrequire "kconv"をやっている。
>   initializeで出来ないかなぁ...MySQLのinitializeとぶつかりそうだなぁ

lib/classup.rbの冒頭に置けばいいです。

# adgjmptwが気になってぐぐってみたら、携帯電話でアルファベットにして2〜9を
# 順番に打つと出るんですね…

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/

In This Thread