1 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 16:10:50 ] オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。 Ruby Home Page www.ruby-lang.org/ja/ = 前スレ Rubyについて Part 32 pc11.2ch.net/test/read.cgi/tech/1215531152/ 過去スレ・関連スレは >>2-
116 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 02:37:54 ] Cyanのコメント
117 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 07:17:18 ] CLと同じでしょう。 =begin/=endでいいじゃんとは思うけど
118 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 08:07:57 ] >>110 そりゃプログラミング言語として与えられたままを使うだけに限った話。 DSLを考えるときには全然効かないんだよ。
119 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 08:12:19 ] >>116 さんきゅー
120 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 15:27:11 ] 引数がStringだった場合はキーを付け足してHashにする(param = {:name => param} みたいな) 引数がHashだった場合はてきとーにキーを見てぶん回す という最近よくある感じの処理をする場合、引数がStringかどうかみたいなのはどうやって判定すべき? is_a? とか instance_of? とか
121 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 15:31:20 ] is_a? kind_of?
122 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 19:31:51 ] www.rubyist.netおつとる
123 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 20:06:37 ] >>120 最近では respond_to? で、必要なメソッドの有無を調べるのも流行らしいぞ
124 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 20:23:01 ] each の存在を調べて String#each の存在でハマるのはもうお約束の域 そして 1.9 対応で悩む
125 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 20:25:44 ] case arg when String when Hash
126 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 20:43:44 ] >>125 それは is_a? だ
127 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 21:00:35 ] 実体が is_a? でも、そう書くか case-when で書くかは大きな違いだ
128 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 21:25:49 ] 引数に(key => value)で特別扱いされるのはHashなんだから is_a? 使うにしてもHashか、そうでないかっていう分岐にしたほうがよさげだと思う。
129 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 21:31:31 ] CodeZineにPythonカテゴリがないのっておかしくね? お前らなんか妨害工作してるだろ。
130 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 21:35:25 ] ttp://codezine.jp/article/tag/223
131 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 21:38:42 ] 実体は === だろ StringとHashでそれぞれ違う処理するなら俺も>>125 にするかな でも>>120 の場合ならこう書く param = {:name=>param.to_s} unless param.kind_of?(Hash)
132 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 21:45:18 ] すまん、クラス、モジュールの === は kind_of?(つまり is_a?) と同じだった
133 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 21:48:24 ] qb5.2ch.net/test/read.cgi/operate/1206636885/657 強制ID実装を駄目元で頼み込んでみた。 もし賛同してくれる人がいたら同意のレスつけてください。
134 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 10:39:11 ] >>133 おまえがIDさらせや。
135 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 17:45:48 ] p 133.id
136 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:30:44 ] => nil\(^o^)/nil
137 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:24:07 ] ext/dlのバグ修正、ruby-1.8.xにも入れてくれないかねえ。
138 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:56:29 ] どのrevision?
139 名前:デフォルトの名無しさん [2008/10/31(金) 23:47:40 ] レポジトリでみてみたけど違いが生じたのがsubversionへの移行前らしくてリビジョンわかりません。 問題は1.9ではNUM2PTRになってるものが1.8.xの方はDLNUM2LONGのまま残ってて アドレス等の値を符号つき整数として扱ってしまっているところです。 これがために1.8ではDL::Symbol.newなどに最上位ビットが1のアドレス値を直接渡せません。
140 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 01:13:22 ] 1.9のってruby/dl2でしたっけ? 低レベルな書き方したら1.8と互換性無くて… ruby -rdl -e "DL.dlopen('user32')['EnumWindows', '0PL'].call( DL.callback('IL'){|hwnd2| puts '%08x'%[hwnd2];-1}, 0 )" みたいなの あと、mingw32版のruby1.8だと上のが落ちるんですよね mswin32版ruby1.8だと大丈夫なんですけど
141 名前:デフォルトの名無しさん [2008/11/01(土) 01:35:20 ] 1.9で1.8と違う添付ライブラリってリファレンスマニュアルとかドキュメントあるんですか?
142 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 02:18:00 ] Ruby会議での青木さんの話を聞くと、 来年のRuby会議までには標準ライブラリのリファレンスが完成しそうなんだとか というわけで来年には手が回るんじゃ…… そういえば、Programming Rubyの第三版に1.9対応リファレンスが付くのかね?
143 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 11:54:12 ] ほんと青木さんとるりまチームには頭が下がるな。 頑張って欲しい。
144 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 18:31:41 ] なにさまだよ
145 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 19:24:52 ] るりまです
146 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 19:59:51 ] そっか、「がんばって欲しい」は「ご苦労さま」と同じか。
147 名前:デフォルトの名無しさん [2008/11/02(日) 13:38:43 ] 設計の基本ができてねぇなぁ!!!!! よいツール教えたる これでガンバリなぁ www.digitalassist.co.jp/pw/page010.htm
148 名前:ATOK mailto:sage [2008/11/03(月) 17:22:43 ] ジャストシステム、スクリプト言語で「ATOK 2008」を拡張できる開発キット Perl/Ruby言語でプラグインを開発し、外部のソフトやWebの情報を直接利用可能に ttp://www.forest.impress.co.jp/article/2008/10/30/atokdirectapi.html 開発キットには、サンプルスクリプトや簡易的なスクリプトデバッガーなどが含ま れており、Perl/Ruby言語を一通り習得したユーザーならば、比較的容易に“ATOKダ イレクト”用のプラグインを作成可能だ。スクリプトの実装方法も同梱のPDFファイ ルや同社サイト上で参照できる。 ATOKダイレクト API for Perl/Ruby とは? ttp://www.atok.com/useful/developer/api/ ATOKがRubyやPerlで拡張可能に − @IT ttp://www.atmarkit.co.jp/news/200810/30/atok.html 「ユーザー自作のプラグインを作り、」〜「入力・変換するだけで情報を表示できる。」参照
149 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 18:31:56 ] >>148 試み自体は面白いと思うんだが 実際にプラグインで、どんな楽しいことができるのかピンとこない
150 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 18:53:40 ] 分野辞書をオンラインインストールとか
151 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 18:56:52 ] アドレス帳を叩いて名前の読みから住所とか引っ張れるのかな。
152 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 20:57:19 ] >>148 動作確認済みのPerl 、Ruby について 【Ruby】 Ruby 186-25 こんなバージョンのRubyは存在しないwwww
153 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 21:54:07 ] >>152 One-Click Ruby Installerのバージョンだね perlもActivePerlなんだし、そう明記すれば問題ないのに
154 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 23:36:03 ] >>153 それはないだろwww 186-25なんて1.8.6がリリースされた直後のバージョンでまともに動かなかったはずwww
155 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 23:44:48 ] >>154 rubyforge.org/frs/?group_id=167 55万ダウンロードで、歴代2位だ pathlevel 0 と表示される Windows 版 Ruby 1.8.6 を使っている人はまだ多い
156 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 04:08:26 ] >>155 が的確すぎてわろた
157 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:49:51 ] ruby 1.9.1 preview1が出たけどruby-langのニュースにはならないの? なんでもいいから更新しないと停滞してると思われるよ
158 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 22:09:05 ] previewやRCは下手に話題にすると変な人が手を出してネガキャンになってしまうので…
159 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 22:21:41 ] しかしユーザーが増えないとバグが取れて安定しないような
160 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 22:28:36 ] 変な人はバグ報告なんてしません Firefoxのアルファやベータが一般人に広まっても一般人はバグ報告などしなかった ある一定以上の経験と知見を持った人間が使ってくれないとバグ報告は増えないというのが悲しい事実
161 名前:159 mailto:sage [2008/11/04(火) 22:32:07 ] なるほど。失礼した そういえばFirefoxも普通のソフトになっちゃって、 コミュニティが苦労してるなんて話を聞いたような聞かないような
162 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 02:19:20 ] 1.8系列って1.8.7でディスコン?いつまで{メンテされる|新しいリリースが出る}の?
163 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 09:13:02 ] >>160 いいかげんな報告が増えるだけでも困るけどな
164 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 20:01:16 ] 「自分の身に起こったことを、簡潔かつ客観的に説明する」 というのは、実のところ選ばれた一部の人間にしかできない行為だからな。
165 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 20:37:12 ] そのへんは学校で習わないから仕方がないねえ 大学でいいゼミやいい一般教養にぶち当たると訓練になるんだけど
166 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 02:32:11 ] 見知らぬ人間に道を尋ねられて「私の家から北に100mです」って答えるみたいな説明を 本気でする奴がいるからな。
167 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 02:51:25 ] そんな極端な底辺を例えに出す奴もどうかと思うがな
168 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 08:51:26 ] >>167 「極端な底辺」ではなく、「まずあり得ないやりとり」としての例ね。 現実に居ることはまったく想定してない。 状況Aにおいて頻繁に見られる性質Bを、Bがまず起きない状況Cに置き換えて 「状況Cでいうなら、つまりこういう光景に等しいよね」と説明することで、 状況Aの中だけで語ってると、頻度が高すぎてそのダメさが大したことじゃないように思えてくる ニュアンスを消したかった。
169 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 10:35:30 ] なんだ、いないのか。 ちょっと面白いと思ったのにw
170 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 14:07:45 ] バグレポートする際に たとえ話はなんの役にも立たない
171 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 14:08:49 ] しかしつまらんスレだな
172 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 00:48:33 ] ActiveRecordってどんな基礎理論から出来てるの? O/Rっていってもいくつか種類とか制約あってそれぞれ 違うようですが
173 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 02:56:36 ] >>171 Rubyがつまらないんだからしょうがない。
174 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 04:47:24 ] Ruby/Pangoって絶賛放置中?
175 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 11:35:05 ] >>172 マッパーそれ自体に理論ってあったっけ? RDBとオブジェクト指向のモデルにはズレがあって・・・・・・ってな話は オブジェクト指向データベースの書籍とかで取り扱われてたような記憶がある
176 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 12:29:00 ] >>172 基礎理論というほどではないが、ActiveRecordというそのものずばりなpatternもとにしている。 ちなみにDataMapper patternをもとにしたのがDataMapperというライブラリ。 ttp://datamapper.org/ ActiveRecord patternやDataMapper patternについては capsctrl.que.jp/kdmsnr/wiki/PofEAA/?ActiveRecord capsctrl.que.jp/kdmsnr/wiki/PofEAA/?DataMapper をみるのがよかろう。
177 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 19:09:18 ] やっぱりこれファウラーさんが最初なの? Railsの影響でPHPでもしばらく前にブームってたが、今ひとつわからんので放置 こればっかりではないが、連想配列のある言語と、Java等のオブジェクトでの 理論・概念の融合が今ひとつ上手く行ってない感じがして仕方がない
178 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 22:23:45 ] はいはい
179 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 00:56:10 ] Django使ってる人いますか?
180 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 12:42:18 ] ふつうGAE使うだろ
181 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 15:53:30 ] modruby.net/ja/index.rbx/news15.html mod_rubyの新しいのがリリースされてる これ何ですか?
182 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:00:22 ] > これ何ですか? 大雑把な疑問だなオイ 書いてあるそのまんまだと思うぞ 自分の環境が該当するものでないのなら無理に導入しなくてもいい 1.9サポートって言っても文法エラー取り除いた程度だと予想
183 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 18:31:41 ] ついったーの様子だと、 とりあえず1.9で動くようにした程度かな。 twitter.com/shugomaeda
184 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 23:18:23 ] mod_ruby も、スクリプトごとにRubyインタプリタ起動すれば使う気になるのに。
185 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 00:11:15 ] >>182 > 1.9サポートって言っても文法エラー取り除いた程度だと予想 もっといろいろ大変だったんだよ つーか昨夜リリースできたのは驚異的
186 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 00:14:36 ] >>184 MVMが実装されるまで待て。
187 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 01:22:56 ] RubyキモいよRuby www
188 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 01:35:22 ] >>184 mod_rubyの意味ないじゃんじゃん?
189 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 15:01:28 ] >>184 >mod_ruby も、スクリプトごとにRubyインタプリタ起動すれば使う気になるのに。 それはCGIのことか?
190 名前:184 mailto:sage [2008/11/09(日) 16:16:31 ] >>189 スクリプトというか、アプリケーションごと? インタプリタはリクエストごとに起動するわけではなく、 Apacheとともに常駐するんだけど、 全部のスクリプトでそのインタプリタを共有するわけじゃなくて、 スクリプトごとに固有のインタプリタがあると良い。
191 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 16:28:55 ] グローバルな状態をアプリケーション単位で分けたいということですかね。 >>186 が言うようにMVM待ちかなぁ。
192 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 16:42:41 ] FastCGI等のプロセス常駐じゃだめなの? よくわからんけど
193 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 18:59:13 ] FastCGIはたしかにスクリプトごとにパーシステンスプロセスを起動するね。 CGIと違ってリクエストごとには起動しない。 >>184 のやりたいことはこれかなあ。
194 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 20:09:18 ] Ruby 的には mod_ruby と FastCGI とどっちがおすすめなんでしょうか。 mod_ruby って実は mod_php や mod_perl とかと相性悪かったりしない?
195 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 21:07:16 ] rubyは汎用なんでおすすめApacheモジュールとか言われても困るんじゃないの。 オススメはwebrickかmongrel
196 名前:184 mailto:sage [2008/11/09(日) 22:10:00 ] うん、だからFCGIやmongrel使うことになって、 mod_ruby を使いたいんだけど使えないなあと。 ほんとは mod_wsgi みたいに mod_rack が欲しい。
197 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 22:49:25 ] Phusion Passengerってのが別名mod_rack/mod_railsらしいけど詳細は知らない
198 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 00:32:36 ] アプリがrackやrailsだったらpassengerが希望のものかと。
199 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 14:04:46 ] >>148 日本語SPAMフィルターでrubyのやつがあったね そういえば
200 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 14:08:08 ] rubyのコードを書けるコマンドラインのリネーマーツールってない? rren -recurse *.txt "$_.upcase!" で aaa.txt bbb.txt が AAA.TXT BBB.TXT になるようなのでもっと至れり尽くせりなやつ。
201 名前:デフォルトの名無しさん [2008/11/13(木) 14:13:02 ] >>200 > もっと至れり尽くせりなやつ。 単に ruby でワンライナー書くのが一番至れり尽くせり。
202 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 14:20:37 ] 定型処理には、ワンライナーは不便かもしれない。 rename [-g "グロブ記述"] "正規表現" くらいのインターフェイスでコマンドを書けばいいんじゃね?Rubyで。
203 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 14:55:57 ] for filename in *.txt; do echo $filename `mv $filename | ruby -n -e 'print $_.upcase'`; done ファイル名に空白とか入ってておかしなことになっても知らん
204 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 14:56:49 ] あ、間違えた for filename in *.txt; do mv $filename `echo $filename | ruby -n -e 'print $_.upcase'`; done
205 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 18:33:16 ] >>203 は、echo で一回テストしてみる慎重な人。
206 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 18:53:48 ] mv はよく痛い目に遭うから。 mv <パターン> <ディレクトリ> で、ディレクトリを入力し忘れたら、パターンに マッチしたファイルが2つで、2つめのファイルが消えちゃったとか。
207 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 21:42:08 ] echo で試した後、ヒストリ戻って | sh と付けたりする。
208 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 07:04:10 ] 1.9.1-preview1のバグ? subの第二引数にSJISの文字列を渡すと、2バイト目の\に反応しちゃってる >ruby19 -Ks -ve "puts 'test'.sub(/test/,'表0')" ruby 1.9.1 (2008-10-28 revision 19983) [i386-mingw32] 付est 「+暗が gsub できない」のブログエントリを見て そりゃあJISコードを直接扱うのは無理があるだろっ でもSJISも2バイト目に\が来たら、-Ksとかでちゃんと$KCODEをSJISにしておかないと引っかかるよなぁ だがしかし、1.9ならば文字列のエンコードさえしっかりしておけば無問題だぜ! >ruby19 -Kn -e "puts 'test'.sub(/test/,%!\x95\x5c0!.force_encoding('SJIS'))" 付est だめじゃんorz
209 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 08:09:14 ] Rangeに x < first ? first : x > last ? last : x なメソッドってないもんかね。あってもよさそうな気がするのだが。
210 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 09:31:27 ] いい名前がないからじゃないかな ぴったりな名前ある?
211 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 13:02:14 ] limit か bound 辺りかな? (1..10).limit(11) => 10
212 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 13:25:05 ] 俺は以前、こんなメソッド定義してた (1..10).fold(11) #=> 10 11.fold_in(1..10) #=> 10
213 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 14:27:05 ] なんか fold っていうと inject を思い出すな
214 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 16:59:52 ] >>209-213 自分はclampってのを使ってるけど、何故その名前を 使い始めたか思い出せない。合ってるのか?
215 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 20:21:02 ] >>214 いまいちな感じ ━━ n., vt. 締め金(で締める); (駐車違反車を)車輪止め(wheel 〜)を掛けて動かせなくする. * clamp down (on) (…を)押えつける; (…を)厳重に取締る. * clamp・down 取締り.
216 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 20:41:36 ] 以下カードキャプター禁止
217 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 20:49:25 ] >216 Holicやツバサなら良いのか
218 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 22:48:26 ] >>208 thx 珍しく田中さんのバグかと思ったらまつもとさんだった。
219 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 00:02:19 ] Range#clip とか。clipping の clip。
220 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 02:00:14 ] clipだと、される側が値じゃなくて範囲のように思える。
221 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 02:09:57 ] imprison は?てかclampよくね
222 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 03:17:36 ] >>211 のboundでいいと思うがなー。 bindの過去分詞じゃなくてboundaryのほうの動詞型だよな?
223 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 21:40:25 ] 以下のようなコードなのですが ruby -v #=>ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32] <-- $KCODE='s' t = <<TEXT \"<src>\" TEXT t.sub!('<src>',"C:\\うた\\01.txt") p t --> #=>"\"C:\\うた<src>1.txt\"\n" となってきちんと置換されません。 "C:\\うた\\01.txt"の部分は起動時の引数を 考えています(運用時に変化する) どのようにすれば #=>"\"C:\\うた\\01.txt\"\n" のように置換できるでしょうか?
224 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 21:46:48 ] www.ruby-lang.org/ja/man/html/String.html >注意: gsub の項には sub/gsub を使用する上での注意点が書かれています。 >置換文字列 replace 中の \& と \0 はマッチした部分文字列に、 >\1 ... \9 は n 番目の括弧の内容に置き換えられます。 というわけで。 t.sub!('<src>'){"C:\\うた\\01.txt"}
225 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 22:51:46 ] 文字列をevalすると中を評価してしまう副作用があるけど、 評価しないで文法エラーがあるかどうかだけ知る方法はないだろうか。 1.9ならripperでやれると思うのだが、あいにく1.8。 いま考えているのは ruby -w をforkして標準入力から流し込む。
226 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 22:56:26 ] eval("if false \n"+ program +"\n end") で例外が起きなければ多分正しい気がする
227 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 23:00:56 ] >>226 なるほど3Q
228 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 23:05:43 ] eval "proc {" + program + "}" とかでもいいのかな。
229 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 23:15:04 ] おれも eval "proc { #{program} }" 派だ。 begin eval "proc { #{program} }" rescue SyntaxError => ex puts ex.message end
230 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 23:16:52 ] program='end;exit;begin' とかやるとexitしちゃうので信頼できないソースにやるのは駄目だな
231 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 01:14:49 ] >>225 そっちでいくなら ruby -c で終了コードを見た方が。 > ruby -ce 'p 0' || echo error Syntax OK > ruby -ce 'p 0.' || echo error -e:1: syntax error, unexpected $end error
232 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 03:35:41 ] お前ら、ちょっとくらいソースのぞいてみろ。 sample/test.rbにそのまんまのがある。 def valid_syntax?(code, fname) code = code.sub(/\A(?:\s*\#.*$)*(\n)?/n) { "#${"\n" if $1 && !$2}BEGIN{return true}\n" } eval(code, nil, fname, 0) rescue Exception puts $!.message false end
233 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 11:23:07 ] がんばってみたけどやっぱりダメみたいだ。 ごめんなみんな。
234 名前:223 mailto:sage [2008/11/18(火) 13:02:24 ] >>224 レスありがとうございます 思った通りに処理できるようになりました
235 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 03:03:37 ] 国籍法改正案について語ろうぜ
236 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 03:29:00 ] >>235 mamono.2ch.net/newsplus/
237 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 03:30:35 ] +(笑)
238 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 21:28:32 ] Ruby-Gnome2にはお世話になってるので、GUIに関するアンケートに答えたけど、 英語が苦手なのできつかった。。
239 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:16:02 ] what?
240 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:30:32 ] これこれ blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/45649
241 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 09:47:40 ] thanks. (あれ?一度レスしたつもりだったが、してなかったか)
242 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 11:09:42 ] メソッド呼び出しの括弧を省略したらProcオブジェクトが とれるようにしようぜ 今みたいに関数オブジェクトを名前で指定するって ダサすぎね?
243 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 11:58:49 ] それは何を中心に考えるかによるからなあ。プロパティ指向と考えれば今のもあり。 それより、 Rubyって関数とかブロックとかクロージャ類の扱いがなにげに冷遇されてるというか あんまりきちんと整理されていないというか。 他の言語でクロージャ使って書くつもりのことがRubyだとすんなり書けないね。 表層的には ・ブロックが関数と同等でない(ブロックをとれないなど) ・内部関数(Schemeのinternal defineみたいの)を書けない Rubyという言語の設計において、クロージャ類は従属的な存在なんだと思う。
244 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 13:03:31 ] >242 名前っつーか、そのためのシンボルのハズなんだが ちとシンボルと実体が疎に過ぎる気はするなあ。 >243 Rubyに純粋な意味での「関数」は無いからね。 文の塊をつくる手段は所属するオブジェクトが必要な「メソッド」と オブジェクトそのものである「ブロック/Proc」の2種類。 PythonやJavaScriptみたいな設計は 「publicな属性が存在する」ことが前提。 「メソッドはpublicな属性に、クロージャが入ったもの」という感じ。 この設計では、関数もメソッドも似たような存在。 ところがRubyはpublicな属性をいきなり排除して 「オブジェクトの属性にはメソッドを通してしかアクセス出来ない」 としてるから、その設計が出来ない。 というのもRubyで「メソッド=クロージャ」…としてしまうと public属性にアクセスできない=クロージャにもアクセスできなくなるんだよね。 だからRubyがpublic属性を否定する限り メソッドは特別な存在でなければならず、クロージャではありえない。 …お陰で、相対的にクロージャの地位が下がっちゃってる。
245 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 13:07:21 ] ただ、もう少しProcとメソッド双方歩みよって 「違うけど、似たように扱える」仕組みがあっても良いとは思う。
246 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 20:25:17 ] メソッド呼び出しの括弧の省略を許す限りなかなか難しいだろうなあ
247 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 23:20:48 ] フリーの統合開発環境「NetBeans 6.5」正式版リリース
248 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 02:07:28 ] メソッドをProcにするのなんか、 x = proc {obj.foo} でいいんじゃね?
249 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 04:22:24 ] 1.9だと ブロック引数にデフォルト値の指定ができるし、ブロックも渡せる block=lambda{|a,b=2,&c| p [a,b,c.yield]} block.call(1){'block'} #=> [1,2,'block'] もう、いっそのこと {|| 〜} って書いたら、それはProcとして扱ったらいいんじゃね?
250 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 04:41:37 ] あと、素人の浅知恵&妄想だが selfを省略した括弧付きのメソッド呼び出しに限定して メソッドが存在しない時に、同名の変数があって それがProcオブジェクトなら call する 同名変数が存在しないか、変数がProcオブジェクトでなければ method_missing 今だって def a;'def a';end a = 'var a' なんてしたときは 字面の a だけをみても変数なのかメソッドなのかわからんのだし p a, a() で、呼び分けるんだから a()がメソッド呼び出しなのか 変数aのProcオブジェクトをcallしてるのか判らなくてもいいんじゃね a = lambda{'proc a'} p [a, a(), a.call] # => [#<Proc:〜 (lambda)>, "def a", "proc a"] で呼び分けれるし
251 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 04:49:18 ] で、 alias func lambda などとすれば x = func{p 'function'} x() あらまぁ、もはや関数と見分けがつかない なんちゃって
252 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 05:54:47 ] >selfを省略した括弧付きのメソッド呼び出しに限定して selfじゃなくてレシーバの省略だった おまけで __proc__みたいな感じでProc自身が取れたりすると Procの再帰がさせやすくなったり
253 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 15:42:42 ] >>250 > 今だって > def a;'def a';end > a = 'var a' > なんてしたときは 字面の a だけをみても変数なのかメソッドなのかわからんのだし これはメソッドaの有無にかかわらず常にローカル変数になるんじゃないか?
254 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 16:47:35 ] 代入があればローカル変数 そうでなければメソッドaの呼び出し
255 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 12:30:01 ] 先生、アンケートです。 あるデータから引数に該当するオブジェクトを検索抽出するメソッドがいくつかあります。 該当が無かった場合は nil やら空配列 [] やらが返ります。 で、このメソッドはブロックをとります。 data.search(cond){|e| e.process } こんな感じで、抽出したオブジェクトのメソッドを使った処理をブロック内でしたいです。んで、このブロックは ・ 該当オブジェクトを探せなかったときには何もしないで処理を継続させる(抽出失敗はここではわからない) ・ 該当オブジェクトを探せなかったときにも nil を渡して NoMethodError でそれを報せる のどっちがいいかな? String#match なんかは前者で、ブロック内で作った変数が空かどうかでマッチの成功失敗を調べたりするよね
256 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 12:38:10 ] >>255 前者はエラートラップ不要で手軽。 後者は込み入った処理ができる。どっちもどっちだと思う。 そのメソッドの用途によるけど、マッチしなかったときの処理が 重要になるかどうかで決めつけていいんじゃない?
257 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 12:54:51 ] うん、どっちも採用理由があるなあ、とは思った。 どっちにしても、失敗検知用の if 文みたいなのはいるなーとか。 いや、これ、他人様のライブラリの便利メソッドの挙動なんだよね。 現行は後者なんだけど、前者のほうが便利なんじゃないかという気がひしひしと…。 「偽や空が渡ったら規定の例外を吐くブロック」とかないかなあ。 ああ、この便利メソッド自体が nil だったとき特定の「DataNoMatchError」とか吐けばいいのか。 場合によっては抽出失敗はしょっちゅう起こるし、そんな細かい例外も面倒だなあ。 でも「nil がどっかで出た結果、あのへんの処理が滞りました」としかわからない現状よりは、 特定の例外でエラー情報がわかったほうが便利なのかも。 …ありがとう。ちょっと考えてみる。 ちなみに、HTML から特定の要素や属性を抽出するメソッドです。サーバの HTML が変わって要素が無くなったら nil。
258 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 13:05:52 ] 「そんなん見ればわかるわボケ」という例外はイライラする 捕捉する機会があれば便利なのかもしれないが、普通の人はこんなん捕捉しないだろうな、みたいな
259 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 19:57:39 ] Ruby/DBI のプリペアドステートメントで使える変数の個数に制限ってありますか? 変数9個の場合なんですが、 mysql = DBI.connect(ry mysql.execute("SET NAMES utf8") mysql.execute("INSERT INTO example_table (a, b, c, d, e, f, g, h, i) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)", var1, var2, var3, var4, var5, var6, var7, var8, "ENCRYPT(var9)") というような文を実行すると、 Too many SQL parameters (RuntimeError) from /usr/lib/ruby/1.8/DBD/Mysql/Mysql.rb:569:in `execute' from /usr/lib/ruby/1.8/dbi.rb:893:in `execute' というエラーになります。 また、Ruby/DBI を使う上でのドキュメントを探しているのですが、 Ruby DBI モジュールを使う www.jiubao.org/ruby-dbi/ruby-dbi.html 以外でおすすめがあったら教えてください。
260 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 21:04:55 ] >>257 searchって名前で検索抽出するのに、抽出失敗時にもブロック呼ぶの? 変だろうそれは。 探すのと辿るのでは目的が違うんだから、全部辿って何かしたいなら foreach とか scan とか search_all とか、そんな名前にすると思うけど。
261 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 21:12:55 ] >>259 実は MySQL の制限だったりしないかと思ったりしつつ。 irb(main):005:0> db = DBI.connect("dbi:sqlite3::memory:") irb(main):006:0> db.do("create table tt (a1 integer, a2 integer, a3 integer, a4 integer, a5 integer, a6 integer, a7 integer, a8 integer, a9 integer, a10 integer, a11 integer, a12 integer)") => 0 irb(main):007:0> db.do("insert into tt values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", *(1..12)) => 1 irb(main):008:0> db.select_all("select * from tt") => [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]
262 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 21:39:49 ] search って名前ではないだろう、さすがに いやわからんけど
263 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 15:09:38 ] 便利メソッドだってのがポイントかね Array#findでなんとかなるけどこれを使うと何か便利、みたいな
264 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 17:29:39 ] data.traverse do |t| t.match do |e| e.process end t.failure do |e| ... end end みたいなインタフェースはどうだろう。 自分で言うのも何だけど、match/failureって名前でいいのかとは思うがそれは置いといて。
265 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 17:59:25 ] ちょいと質問。 HTMLのリンクとか面倒な部分をカンタンな記述→複雑なデータのように自動で変換記述する自分用スクリプト作ってます。 Wiki の [[キーワード]] みたいなやつ。 pstore の DB つきで、[[hoge-12]] と書いたら DB 内の Hoge の 12 項の説明文つきリンクで置き換わる、みたいな。 で、置換なんだけど、一般的に、ファイル全体に対して置換ワードごとに何度も gsub するしかない?
266 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 18:02:03 ] >>265 str.gsub(/\[(.*)\]/) {|s| table[s] } こんな感じ。
267 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 18:03:00 ] てきとーに書きすぎたw リファレンス見ながら察して。
268 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 18:08:16 ] 初めのころはgsubで書いて、 そのうちcase文とかif文とかの使用を考えて、 大量の一時状態保持変数とバカみたいに複雑な分岐処理で破綻して、 結局gsubに戻ってくる 正規表現をワードタイプの通知も含めて複雑にするか([[〜]]と<<〜>>は違う、みたいな)、 ワードタイプごとにgsubを分けて何度もgsubするかは好みと処理時間で
269 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 18:21:40 ] あ、一時保持変数で思い出した [[hoge-13]] だとHogeの13なんだけど、[[-13]] だと、その [[-13]] が言及してる文章のセクションの13項目なんだよね ファイル名とかで区別できるんじゃなくて、文章の中の、HTML でいうとこの <h1 class="about_hoge">Hoge について</h1> リンクだよ→ [[-11]] <h1 class="about_mage">Mage について</h1> リンクだよ→ [[-12]] で、[[-11]] は [[hoge-11]] で、[[-12]] は [[mage-12]] なんだよ gsubと相性悪いなあと思う
270 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 18:48:56 ] >>269 そんな表現認めたほうが悪いというのはさておきw そこまでコンテキスト依存度高くしたら、スキャナで頭から舐めるか 構文木みたいな内部表現にしてから処理と出力するしかないんじゃ?
271 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 19:23:45 ] strscanでスキャナ書いてしまうのが楽。
272 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 14:03:45 ] break と next と continue と return の使い分けがわかりません。
273 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 14:07:56 ] >>272 break:ループ全体を打ち切り next:ループ1回分だけ打ち切り continue:なにそれ? return:関数を打ち切り
274 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 14:08:27 ] continue じゃなくて retry でした
275 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 14:12:23 ] retryはループを振り出しに戻して最初からやり直す
276 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 14:15:21 ] たいていの解説には嬉々として例が載ってるはずなんだけどな
277 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 14:27:11 ] def foo(&x) @x = x end def bar() @x.call end foo{ if $hoge xxxx 1 else xxxx 2 end } xxxxに何を入れたらいいかわかりません
278 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 14:33:17 ] >>275 retryってループそのもののやり直しだったのか ループのその回をやり直しっていうキーワードはないの?
279 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 14:35:04 ] つーかここ初心者スレじゃないじゃん。 >>277 たぶんbreak。だめならreturn。irbで叩いてみ。 >>278 リファレンス嫁。
280 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 15:14:54 ] retryはhttp扱ってるときに503を返しやがったときに使うわ。 rescue節でちょとsleepしてからretry
281 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 15:25:52 ] >>278 redo 微妙なネーミングだなあ
282 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 16:17:10 ] >>277 exit
283 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 17:22:56 ] >>277 別に何も入れなくていいんじゃね 直接値だけを書いておけば あえて書くなら next なんか、ものすごく直感に反するが
284 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 23:37:49 ] クロージャを抜けるのがnextっつーのがなんとも
285 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 01:27:57 ] クロージャの次の処理へ進む、という意味に捕らえれば良い 元々は次の繰り返しへ進む、だけど
286 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 12:42:24 ] 余計な苦労じゃ
287 名前:デフォルトの名無しさん [2008/12/02(火) 08:39:58 ] Ruby 1.9.1 Preview 2 アゲ
288 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 08:51:12 ] >>277 ruby 1.7 以降なら、breakに返り値をつけられる
289 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 18:23:06 ] rubyをrudyと間違えるのはデフォだよな
290 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 18:30:19 ] RUbyとはしょっちゅう書く IME2000の設定がね
291 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 06:57:24 ] RPGツクールのRGSSって ruby使えるやつならわざわざツクールなんかに頼るとは到底思えない
292 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 07:14:51 ] どうして使ってもいないものを批判するの?
293 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 11:14:56 ] [ ["String", int foo, int bar], ["String", int foo, int bar], ["String", int foo, int bar], ... ] というオブジェクトがあって、bar をキーにソートして printf "%d, %s, %d", bar, str, foo, という風に出力したいんですが、何かいい方法はありますか? DBを使うかデータ構造を考え直したほうがいいんでしょうか?
294 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 11:15:31 ] ruby勉強しようと思ったけどもうちょっと普及してからでいいな
295 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 11:21:27 ] sort_byを使う $data = [ ["foo", 1, 2], ["bar", 2, 1], ["bozh", 5, 0], ] $data.sort_by{ |x| x[2] }.each{|x| printf "%d %s %d", x[2], x[0], x[1]}
296 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 13:03:50 ] >>292 まあ、RGSS使った人間の台詞ではないな
297 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 13:06:26 ] >>295 ありがとうございます。 というか、初心者スレがあったんですね。 失礼しました。
298 名前:デフォルトの名無しさん [2008/12/05(金) 14:27:23 ] いつも思うだけど最近の言語っていわゆるjmp命令ってないよね。 昔9801でマシン語で組んでた時の癖があるからループ制御中にもう1つブレイク判定用チェツク入れてしかも入れ子分考慮してブレイク数考えるとか、 書き物がみづらくなるは、めんどくさいはでいつも思いながら使ってる。
299 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 14:31:43 ] つ 例外 つ catch throw
300 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 14:34:00 ] まあ、例外だな
301 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 14:43:56 ] jmp considered harmful
302 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 14:51:23 ] つ callcc
303 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 15:04:29 ] マシン語世代は例外とかの高級言語概念が理解できないことがあるのでマジ困る
304 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 15:06:29 ] 本物のマシン語世代なら、ああ、割り込みのようなものね、と サクッと理解できるはずだと思うんだが。
305 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 15:10:26 ] 例外と割り込みは全然違うだろ
306 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 15:14:04 ] >>304 その理解だと割り込みとして使いやがるぞ
307 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 15:21:36 ] >>306 いやそれは無理だろ 別物過ぎて話にならん
308 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 15:40:28 ] 解説とサンプルと実行結果を見て理解できないならプログラミングは向いてないよ。 〜みたいなものという不正確な比喩で何かを理解した気分に浸れたところで何がどうなるわけでもない。
309 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 15:52:38 ] 関数のようなもの
310 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 15:55:31 ] パールのようなもの
311 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 16:00:29 ] バイブのようなもの
312 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 22:15:26 ] >>298 jump命令が使いたくなるようなコードを出してみよう。 そうすれば貴殿の主張も説得力を持つようになる。
313 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 22:47:35 ] RubyForgeのログインクッキーがすぐなくなるような気がする めんどくさいからログインやめようかなという
314 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 21:38:55 ] Ruby 1.8系のMatrixの不具合? >ruby18 -rmatrix -ve "p Matrix[[1,3,4],[3,1,2],[4,2,3]].det" ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mingw32] 24 >ruby19 -rmatrix -ve "p Matrix[[1,3,4],[3,1,2],[4,2,3]].det" ruby 1.9.1 (2008-12-01 revision 20438) [i386-mingw32] (matrix.rbでブロック引数が外部のローカル変数を遮蔽してる警告多数 省略) (4/1) ruby19の方があってる どう書く?org の「行列式の計算」を解いていて発見 Matrix#determinant の定義をみると 1.9では割り算が / から .quo になってるので 1.8ではIntegerの割り算で端数が切り捨てられてる FloatのMatrixだと大丈夫 >ruby18 -rmatrix -ve "p Matrix[[1.0,3.0,4.0],[3.0,1.0,2.0],[4.0,2.0,3.0]].det" ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mingw32] 4.0
315 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 01:24:20 ] そういうガチっぽいのはredmineに登録してください・・・
316 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 01:56:20 ] パッチとテストを書いてください
317 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 23:22:58 ] Windows の Mingw版ruby 1.9.1-preview2ですが >cat てすと.rb p [$0,$0.encoding] p [__FILE__,__FILE__.encoding] p $0 == __FILE__ >ruby19 -v てすと.rb ruby 1.9.1 (2008-12-01 revision 20438) [i386-mingw32] ["てすと.rb", #<Encoding:Windows-31J>] ["\x82\xC4\x82\xB7\x82\xC6.rb", #<Encoding:US-ASCII>] false -Ksつけるとか、ファイル冒頭のマジックコメントで Windows-31J を指定すると大丈夫なんですが ファイルの中身のEncodingと ファイル名のEncodingは無関係のような気もするし どうしたもんでしょうね Windowsだと ARGVや$0はWindows-31Jなので __FILE__も同じでいいような
318 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 23:26:10 ] め、めんどくせえ…
319 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 15:53:44 ] >>317 >Windowsだと ARGVや$0はWindows-31Jなので >__FILE__も同じでいいような ぜんぜんよくないだろう。。。 しかしどうしたもんでしょうね
320 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 16:19:04 ] >>319 横からすまん。よくないってどういうこと? $0と__FILE__のエンコーディングを揃えるのはごく自然に思えるんだが。
321 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 18:01:07 ] >>320 $0と__FILE__のエンコーディングは揃うべきだと思うが、ARGVは違うでしょ。 ARGVはコンソールで指定されるからWindows-31Jになるので、これはOK。 $0と__FILE__のエンコーディングはファイルシステムのエンコーディングになるのが一番自然だろうと思う。 だからってUTF-16で渡されても嬉しくないけどね。
322 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 20:59:22 ] | > ruby -v | ruby 1.9.1 (2008-12-01 revision 20438) [i386-mingw32] | | > ruby -r Win32API -e 'Win32API.new("msvcrt.dll", "_wmkdir", "p", "i").call("あいうえおかきくけこ".encode("utf-16le"))' & dir /b | あいうえおかきくけこ(ゴミ文字が続く) | | > ruby -r Win32API -e 'Win32API.new("msvcrt.dll", "_wmkdir", "p", "i").call("あいうえおかきくけこ".encode("utf-16le").force_encoding("binary") + "\0")' & dir /b | あいうえおかきくけこ | あいうえおかきくけこ(ゴミ文字が続く) 文字列の終端記号がUTF-16/32などでも常に1バイトしか付加されません UTF-16ならば2バイト、UTF-32ならば4バイトの終端記号が付加されるのを期待します
323 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 21:03:45 ] WindowsのネイティブでRubyをまともに使えるようにしようという努力は、どれくらい実のあることなんだろうか
324 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 21:59:53 ] 世の中のクライアントPCのほとんどがWindowsであることを考えると、非常に重要で意味のあること。 問題はmatzにその気がまったく無いことだよな。Ruby捨てるのが早かったりして。
325 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 22:02:12 ] >>322 つ redmine.ruby-lang.org/ つ ruby-dev ML
326 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 23:50:03 ] 1.8.6 では ruby -e 'p p 1' とかやると、 warning: parenthesize argument(s) for future version と言われたけど、1.8.7 では warning が出なくなってる。 括弧なしも正式にOKになったってことなのかな。
327 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 10:27:54 ] >>322 ruby19 -rwin32api -e "Win32API.new('user32.dll','MessageBoxW','ippi','i').call(0,('あいうえおかきくけこ').encode('utf-16le'),'メッセージボックス'.encode('utf-16le'),0)" でMessageBoxを表示させると確かに後ろにごみがつきますね ワイドキャラクタって文字サイズ分の終端記号が必要なのか Win32APIやdlでは文字列の引数を pack('p')でポインタに変換してるようなので UTF16やUTF32をpack('p')するときは終端記号が文字幅分付加されればいいのですかね とりあえず、自前で終端記号をつけておけば動きますけど ruby19 -rwin32api -e "Win32API.new('user32.dll','MessageBoxW','ippi','i').call(0,('あいうえおかきくけこ').encode('utf-16le')<<0,'メッセージボックス'.encode('utf-16le')<<0,0)"
328 名前:デフォルトの名無しさん [2008/12/13(土) 20:19:53 ] 金光ですっ。どもっ。
329 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 16:24:29 ] >>327 > Win32APIやdlでは文字列の引数を pack('p')でポインタに変換してるようなので > UTF16やUTF32をpack('p')するときは終端記号が文字幅分付加されればいいのですかね packで終端記号を付けているわけではない。 というかそもそも、常にNUL終端されていることが保証されているわけではない。 保証されているのは、StringValueCStr()を呼んだ場合に終端されることだけ。 ワイドキャラクタ以外でNUL終端されているように見えるのは、歴史的経緯と実装上の都合による偶然。 でもdlとかWin32APIって入力文字列か出力バッファかなんて気にしてないんだよなぁ。
330 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 22:36:03 ] 勝手な想像では Stringは内部ではNULL終端されたCのバイト列で文字列を保持していて その直後には文字列の拡張に備えたある程度のバッファの残りがあり 実際の文字列長や、バッファ全体の大きさ等がセットになった構造だろうと思ってました Cのバイト列として直接扱えるようにNULL終端されてないと ちょっとしたミスでバッファオーバーフローしやすいのでまずいだろう それゆえに、pack('p')では特に終端の処理はしてないのではないかとも思ってました なので、pack('p')されたら、とりあえず引数で渡されたString内部の 文字列直後のバッファを\x0\x0\x0\x0で埋めとけばいいと思うのです もしバッファがぎりぎりで余裕が無くても、バッファを拡張してでも埋めればいい バッファとして使うのなら、いちいち4byteものNULL終端するのは無駄かもしれませんが 文字列としてか単なるバッファとして使われるのか区別がつけられないので 安全側に振っておけと
331 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 22:41:59 ] Rubyで書くなら 引数のstring.concat(0).chop! NULLを連結しておいて、それを切り詰めると 文字列直後のバッファには文字幅分のNULL終端が 残ってるだろう たまたま現在の実装ではそうなるだけかもしれませんが Ruby本体が内部でやるとするなら文字のエンコーディングと関係無しに 4byteNULL終端することにすれば少しは速度の低下を抑えられるのではないかと そのように、NULL終端していることをRubyが保証するようにしてほしい ま、pack('p')なんてdlでしか使われないだろうし dlを使ってる時点でパフォーマンスなんて気にしても仕方ないので それくらいやっちゃってもいいんじゃないかと
332 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 18:50:54 ] RUBYOPT=-rubygems の問題はどうなったん? ユーザーに環境変数を設定させるのが妥当? require 'rubygems' を(配布)スクリプト側で書くのが妥当?
333 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 19:03:42 ] > pack('p') 顔に見えて仕方が無い
334 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 19:16:54 ] require 'rubygems' を書くのが「正しい」 というか、これを書かずにスクリプト作る奴の意味がいまいちわからん gem で配布しておきながら LoadError 起こすようなコマンドつけてるライブラリはソースコード印刷して燃やせ
335 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 19:47:22 ] begin require 'rubygems' rescue LoadError end require 'wx'
336 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 21:59:33 ] >>332 require rubygemsと書かないとgemsでインストースしたものが使えないのが大問題
337 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 23:05:44 ] >>330 > 勝手な想像では > Stringは内部ではNULL終端されたCのバイト列で文字列を保持していて > その直後には文字列の拡張に備えたある程度のバッファの残りがあり > 実際の文字列長や、バッファ全体の大きさ等がセットになった構造だろうと思ってました 昔はそうだったんだけど、前田さんがstringをcopy-on-writeにしようといって変更になった はず。俺の記憶が正しければ。 > なので、pack('p')されたら、とりあえず引数で渡されたString内部の > 文字列直後のバッファを\x0\x0\x0\x0で埋めとけばいいと思うのです > もしバッファがぎりぎりで余裕が無くても、バッファを拡張してでも埋めればいい terminatorをmin len確保する、というのも考えたんだけど StringValueCStr()とpack('p')だけ、というのもありかもね。
338 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 10:45:03 ] >>336 >>335
339 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 18:12:39 ] up2.viploader.net/pic/src/viploader883164.jpg
340 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:28:50 ] 今年の聖夜はなにがリリースされるの?
341 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 01:46:48 ] そういうのあったな あんまり静かなんで忘れてた
342 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 02:04:46 ] RCのリリースは30日に延期か ささださんの仕事がもう少しかかる? ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/20810
343 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 06:39:08 ] 確かに静かだな そもそも正式版が1月に控えてるから、あまり気にされていないのかもしれない
344 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 10:19:44 ] うおおい、Ubuntuでビルドできねえぞ! どうなってんだ!コラァ! gcc -O2 -g -Wall -Wno-parentheses -I. -I.ext/include/i686-linux -I./include -I. -DRUBY_EXPORT -o sprintf.o -c sprintf.c sprintf.c: In function ‘rb_str_format’: missing/vsnprintf.c:1185: sorry, unimplemented: inlining failed in call to ‘snprintf’: redefined extern inline functions are not considered for inlining sprintf.c:803: sorry, unimplemented: ここから呼ばれました
345 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 10:27:46 ] www.ruby-forum.com/topic/174074 ぐぐったらこれか FreeOSの中で圧倒的なシェアを誇るうぶん厨様を冷遇するとは・・・・ Rubyistたちはどうやら俺たちとやる気らしいな・・・
346 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 12:59:42 ] [ruby-dev:37585] 鼻から悪魔吹いたんだけどこのパッチどういうことなの 単純にコピペミスか何か?
347 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 13:52:38 ] >>346 どのへんで噴いたの? 日本語化メッセージ?
348 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 14:51:56 ] >>347 [ruby-dev:37595]ですでに言われてるけど、uninitializedな値を代入してどうすんだってこと [ruby-dev:37592]でもせっかく取得したskの値を上書きしてるし(これはすぐ直りそう) 一体どうしてしまったんだろう・・・
349 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 15:57:53 ] [ruby-dev:37595]の人ってなんでこんな上から目線で偉そうなの?死ぬの?
350 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 16:03:18 ] >>349 べつにふつうだと思うが?
351 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 17:33:11 ] これが上から目線だったら、U氏はどうなってしまうのかと小一時間
352 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 17:35:37 ] いわゆるゴッド
353 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 19:51:14 ] >>349 上から目線というよりは相手を馬鹿にしてるように見える
354 名前:sage [2008/12/26(金) 01:58:49 ] 「テストしてからコミットすると,気づきやすくなると思います」 とmatzを諭している人が 「どこでも通用する再現ケースを示しても、報告者が確認しないとダメですか」 と突っ込まれるようなことをしてしまったからなあ
355 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:00:42 ] sage間違えた orz
356 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 14:06:47 ] >>353 馬鹿にしてるというよりはいじられキャラだから
357 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 18:23:30 ] ええと、iconv 対応外部ライブラリがあって、引数で iconv なエンコーディング文字列を渡したいです。 しかし、ガイジンさんも使うスクリプトなので require 'iconv' も require 'kconv' もしたくないです(たった1回のために遅くなるのは避けたい)。 外部ライブラリが依存してるので、/usr/bin/iconv か、 /usr/lib/ruby/1.8/i486-linux/iconv.so の2つは存在するんだけど、 この段階で、 Ruby の変数に格納されてるデータの文字エンコードを調べる方法はありますか?
358 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 18:33:53 ] require 'rubygem' で文字コード関連のライブラリ読まれなかったっけ しれっと gem にしてしまうというのはどう
359 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 18:49:53 ] それ多分requireの100倍くらい重いよね
360 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 20:43:48 ] iconv は推測ができないんじゃなかったっけ? from と to が必ず必要だった気がする guess したければ NKF 使うことだね 2008年にもなってまだ NKF か やってらんねーな
361 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 21:24:39 ] つーかそもそも require 'iconv' も require 'kconv' も、読み込みコストは無視していいほど軽いと思うぞ 気にせずiconv読み込んじゃえよ
362 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 21:52:33 ] ぼくはrequire "kconv"ちゃん!
363 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 06:31:20 ] 使うところでrequire
364 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 06:35:04 ] >>345 そんなにシェアがあるとは知らなかったが、 初心ン厨のsnprintf()は一体どう定義されてるんだ?
365 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 19:02:54 ] GNU Debianと同じはずなのだが
366 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 19:10:20 ] Ubuntuユーザてdevな人たちにいないのかな? 皆さんDebianを使ってるのか?
367 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 20:35:06 ] 皆さんはどうだかわからんけど、数あるLinuxでDebianが 優先されてるのはmatzが普段使っているものだから(だよな?)。 NaClが日医のORCAの会社だから、てのは関係あるのかな。
368 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 20:44:26 ] いや、こういうのでLinuxのうち対応するの1個選べと言われたらDebianだろ普通 CentOS用のを他のディストリに対応させるのは面倒な可能性があるが、 Debianで動作するなら必要ライブラリとかの問題はゼロだろ
369 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 20:47:02 ] それ以前に、今の今まで動いてたんだからパッチの書き方が下手糞なんだろう しょぼいコントリビュータがいるからこうなる。Cを知らない奴に開発させるなよ
370 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 02:18:02 ] 文句言うなら自分でやるべきでは?
371 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 08:13:51 ] 問題になったそのパッチってどれよ
372 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 10:59:59 ] nokogiriエンジンのmechanizeを1.9で動かすと hpricotをつかったものを1.8で動かすのに比べて大分早くなるんだなー これで心置き無く1.9に移行できる
373 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 13:25:40 ] いやそれ1.9ほとんど関係ないから libxml2が速いだけだから むしろMechanize自体はEncodingの存在無視してるから1.9向きではない
374 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 14:41:03 ] >Encodingの存在無視してるから1.9向きではない kwsk $KCODE='UTF-8'ってやらないと?だらけになるとかそういうのですか?
375 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 14:51:51 ] 1.9 は $KCODE 使えないだろ
376 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 14:53:34 ] だから対応して欲しければ文字エンコードをもった文字列の扱い方の解説特設ページとか公式に作れ
377 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 14:55:08 ] ライブラリ作者は別に1.9に完全対応とかをやりたくないってわけじゃないんだ(いや面倒度にもよるが) ただ、どう対応して追従するのがベストなのか、情報が散逸してさっぱりわからんからスルーしてるだけなんだ
378 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 15:16:35 ] スルーじゃなくて保留なんですね 言い方大事ですね
379 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 18:54:44 ] 書こうと思ってるけど、どういうのがほしいの? doc.okkez.net/191/view/spec/m17n とは違うんだよね 1.8 のスクリプトを 1.9 に対応させるベストプラクティス的なものがほしいのかな
380 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 19:02:28 ] まあ、移行ガイドみたいなもんになるんだろうね 1.9を視野に入れるなら使わないほうがいい記法とか あなたは知らないだろうけどこの世には日本語文字というものが以下略みたいな
381 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 22:26:20 ] >>344-345 修正されたお
382 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 18:24:38 ] 中の人GJ
383 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 23:37:43 ] >>367 Ruby自体Debianしか正式サポートしてないからね
384 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 13:42:50 ] 早く開発者変わってWindowsがリードプラットフォームにならねーかな。 どう見ても一番将来性あるわけだし。 オプソ周りはもう不況で金集まらないだろ。
385 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 13:54:21 ] >>384 お前Windowsで開発したことないな
386 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 16:15:31 ] 卜部を「とぶ」と読んでいたのは俺だけではないはずだ
387 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 19:24:02 ] 懺悔すると、「とべ」と呼んでた 全国の卜部さん、ここ見てたらごめんなさい
388 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 19:27:42 ] >>386 それはない とべならまだわかる。
389 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 21:43:38 ] Rubyを「るびぃ」と読んでいるのは俺だけではないはずだ
390 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 12:48:20 ] >>384 それはまずあり得ないな。 開発環境でもLinuxのほうが便利。 WindowsのIDE使う場合でも、sambaでLinuxのディレクトリをマウントして コーディングするほうがいいよ。 コマンドの実行はTeraTermか何かでsshログインすれば良いし。 特に本番環境となればWindowsサーバという選択肢はあり得ない。 Webアプリケーションを作る場合だけどね。
391 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 13:01:16 ] 最後の一行を最初に持ってこないのはインチキだと思います先生
392 名前:390 mailto:sage [2008/12/31(水) 15:15:14 ] >>391 確かにそうだな。 すまなかった。
393 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 17:58:23 ] >>390 が素人な件について。
394 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 22:06:41 ] >>349 >[ruby-dev:37595]の人ってなんでこんな上から目線で偉そうなの?死ぬの? どんだけすごいんだろうと思ってみてみたら・・・ 最近のゆとりは、こんなのも上から目線と感じるのか。 つきあいにくいなあ。
395 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 01:02:00 ] ライブラリの力を自分の実力と勘違いしている香具師は邪魔
396 名前:デフォルトの名無しさん [2009/01/01(木) 11:27:46 ] Ruby 初心者スレッド Part 23 の 846には Nokogiri::HTML(open(url), nil, 'SHIFT_JIS')みたいに 第3引数で文字エンコードをしてできるようですが、 Mechanizeから文字コードを指定できますか? つまりWWW::Mechanize.new.get(url)とするとき getするhtmlのエンコードを決め打ちして取得できるのかどうか。 WWW::Mechanizeクラスの定数にも属性にもそれっぽいものが見つからなくて質問させてください。 Mechanizeは0.9、Rubyは1.8.7です。
397 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 11:34:29 ] Ruby 初心者スレッド Part 23 pc11.2ch.net/test/read.cgi/tech/1227123021/ 埋まった。次スレ立てられなかったので誰か頼む。
398 名前:デフォルトの名無しさん [2009/01/01(木) 11:34:31 ] >>396 でいつRuby 初心者スレッドの次スレを立てるの?
399 名前:デフォルトの名無しさん [2009/01/01(木) 11:46:17 ] 399
400 名前:デフォルトの名無しさん [2009/01/01(木) 11:47:04 ] 400
401 名前: 【吉】 【265円】 [2009/01/01(木) 11:48:36 ] ○ /⌒\ (__) \●/(__)/⌒\ ∩ ( ・ω・ )\●/ あけましておめでとうございます Y  ̄ ||y||  ̄`''φ Lノ /ニ|| ! ソ > 乂/ノ ハ ヽー´ `ー-、__| ことしもよろしくね☆
402 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 13:20:13 ] ■次スレ Ruby 初心者スレッド Part 24 pc11.2ch.net/test/read.cgi/tech/1230783202/
403 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 13:21:52 ] 2.0マダー?
404 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 15:17:09 ] >>396 WWW::Mechanize::Chain::BodyDecodingHandlerにmonkey patch!
405 名前:396 [2009/01/01(木) 17:30:52 ] >>404 正月早々レスありがとうございます。でも モンキーパッチの当て方(書き方)がわからん。 参考も見つけられなかった。 ソース読んでもいまいちピンときてないし。 body.readの部分で,iconvあたりでutfに変換してやるだけなんじゃないかななどと楽観的に考えてるのですが。 あるいはlib/www/mechanize/page.rbで @parser = Mechanize.html_parser.parse(html_body) のところでエンコードを指定してやればいいはずだが そもそもパッチの書き方がわからないorz
406 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 19:24:43 ] やっぱりデビアン前提? 窓環境で動くアプリをrubyで作るのは無謀だろうか。
407 名前: 【1739円】 【大吉】 mailto:sage [2009/01/01(木) 20:01:18 ] >>406 無謀とまでは言わないけど苦労は多いんじゃないか?
408 名前:407 mailto:sage [2009/01/01(木) 20:02:08 ] お、大吉だったw
409 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 20:06:23 ] >>406 visuarubyで作ったけど時間かかった wxPythonで作り直したらあっさりできた
410 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 03:59:23 ] >>406 RubyとGUIライブラリの相性が悪すぎる。 RailsをWindowsアプリとして動かすのが一番楽
411 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 09:20:44 ] ここでvrubyでしかrubyを使わない人の登場です。(vbicで拡張してるけども) 自分で使うときはcuiでいいけども、人に渡すときはexerbで固めて渡してる。 粗大なデータを表示するエディタや、ペイント系の処理をするのでなければ、vrubyで十分だけどなぁ? 基本はボタンやプルダウン、ドラッグ&ドロップをトリガーとして各クラスなりdefにアクセスできればいい ので、cuiで書いたコードをそのまま使えるし… gemでsshとscp、rmagick、mysql、sqliteを使ってる物をポイっとgui付でexe化して他人に渡せるのは メリットだと思ってる。 俺は逆にwxPythonだとsshで躓き、exe化する時にdllが多大にできたり単独ファイルにできないのが 辛かった。
412 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 09:39:30 ] >>406 CUIにせよGUIにせよ、今のRubyなら余裕 VisualuRubyあるし、今ならwxRubyもWindowsできちんと動くしな diffとかlsとか、基本的なコマンドラインツールも探せばすぐに揃うし 個人的にWindowsでRubyするときの一番の問題はエディタ(or開発環境)
413 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 14:18:16 ] Windowsの場合、エンコーディングがUTF-8だとコンソールが文字化けすると思うんだけど対策とかあるの? chcpで文字コード変えるとirbとscript/consoleが動かないんだよね。
414 名前:デフォルトの名無しさん [2009/01/02(金) 14:22:04 ] >>413 マルチいくない 【Ruby】Ruby on Rails Part6 ttp://pc11.2ch.net/test/read.cgi/php/1224838013/l50 こっちで質問してるくせにマルチって人間失格だね
415 名前:デフォルトの名無しさん [2009/01/02(金) 14:38:51 ] すまなかった。 あっちで聞いて来るのでこちらの質問は取り消す。
416 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 16:33:59 ] ファイルにYAML形式で複数のオブジェクトを書いた場合 どのようにして全てのオブジェクトをRubyのオブジェクトに変換できるのでしょうか。 load_fileが先頭しか変換しないとかアホじゃねーの?
417 名前:デフォルトの名無しさん [2009/01/02(金) 16:55:36 ] ドゴォォォォン!! ; ' ; \,,(' ⌒`;;) (;; (´・:;⌒)/ /⌒ヽ(;. (´⌒` ,;) ) ’ Σ(;^ω^)((´:,(’ ,; ;'),` ⊂ ⊂ / ̄ ̄ ̄/__ \/___/
418 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 19:58:27 ] 複数のオブジェクトなら配列として書き出しているはずだが。
419 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 21:43:34 ] ドゴォォォォン!! ; ' ; \,,(' ⌒`;;) (;; (´・:;⌒)/ /⌒ヽ(;. (´⌒` ,;) ) ’ Σ(;^ω^)((´:,(’ ,; ;'),` ⊂ ⊂ / ̄ ̄ ̄/__ \/___/
420 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 21:52:15 ] Matzって何ですか
421 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 21:56:46 ] YAMLって空の改行入ってても大丈夫?
422 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 23:24:57 ] >>416 >load_fileが先頭しか変換しないとかアホじゃねーの? YAML.load_documents か YAML.load_stream をつかえばいいんじゃないかな。 参考: ttp://jp.rubyist.net/magazine/?0010-YAML#l8
423 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 01:41:47 ] 結婚式2週間前、IPA勤務の新郎がつこうた tsushima.2ch.net/test/read.cgi/news/1230997845/ 仁義なきキンタマ ウイルス情報 Part80 changi.2ch.net/test/read.cgi/download/1229742858/546 546 :[名無し]さん(bin+cue).rar :sage :2009/01/04(日) 00:24:59 >>500 報告する時は、詳しく的確に、一部だけ報告しないでお願いね [殺人] Administrator(20081230-101522)のキンタマ.zip 2,263,376,860 09ed98f10653c3fc2555621ceeed6bc33e8f6228 [殺人] Administrator(20081230-101522)のメール.zip 59,426,579 4da9459b30eec31f58b86530dbb48d1cf86ef4be [写真集][IV] Administrator(20081230-101522)のアルバム.zip 2,205,946,474 9d87cc0e08dc0e3afd959fcead6c48d569787cee 膨大な量のファイル数キンタマ ファイル数 13508 フォルダ数2381 以前勤めてた会社の資料など多数 独立行政法人情報処理推進機構などの資料など無いと思うが 有るかも知れない、あまりにも数が有り過ぎる、メールなどは、古いものばかりメルマガなど膨大な量 個人情報などは、披露宴主席者などの住所、名前、電話、メール 数十人分しかしエロばっかり落としてるな ちなみに ハメ撮りscr 踏んだみたいね 早稲田実業学校中等部卒業 早稲田実業学校高等部卒業 早稲田大学政治経済学部政治学科卒業 卒論「知的財産権とインターネット技術」 当時の同大学理工学大学院の大川功 賞佳作を受賞 コンピュータ関連会社に入社ソフトウェア開発の仕事を経て 2005年に独立行政法人情報処理推進機構に入社 ソフトウェア・エンジニアリング・センター企画グループに配属 同グループ主任 岡田さん33歳 2009年1月19日結婚式・・・
424 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 16:43:57 ] ┏━━━━━━━━━━━━━━━━━━━━━┓ ┃ ━ ╋━╋ ╋┓┏┓ ┳┻┳┏━ ┣━┳━ ┃ ┃ ━ ┏┳┓ ┃┃┗┛ ┻━┻┃ ┃ ┃ ┃ ┃ ━ ┗╋┛ ┏━┓ ┃ ┣┳ ┏━╋━ ┃ ┃ ━ ━╋━ ┣━┫ ━╋━┃┃ ┃ ┃ ┃ ┃┏┓━╋━ ┣━┫ ┏╋┓┃┃ ━┻━╋━ ┃ ┃┃┃ ┃ ┗━┛ ┃┃┃┃┃ ┃ ┃ ┃┗┛━┻━ ━┛┗━ ┃┃┃┃┃ ┃ ┃ ┗━━━━━━━━━━━━━━━━━━━━━┛ ∩ 〈〈〈 ヽ 〈⊃ } (\___/) | | ( ̄l▼  ̄)! ! / ● ● | / / l ___\lミ/ /▲ ( 。--。 ) /■___ (( ̄)) 新年あけましておめでとうございますーーっ! (___)  ̄/ 2009年 元旦