- 1 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 04:30:21 ]
- プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
【Ruby1.9 は不安定な開発版であり初心者には全く向きません】 【最新安定版の Ruby1.8.7 の使用をお勧めします】 ※1.8.7 は1.8 と 1.9 の橋渡しをするためのリリースです。 1.9 の新機能の一部が利用可能なので初学者にお勧めです。 ※ただし十分安定しているとは言えないので プロダクション環境での利用にはお勧めしません。 関連スレやURLは>>2-8あたりを見てください。Ruby on Railsの質問はRailsスレへ。 ■質問する人へ 質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。 ・モジュール名やエラーメッセージでググる ・マニュアルで引っかかったクラスの記述を探す www.ruby-lang.org/ja/man/ ・FAQを一応読む www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ 質問には以下を書くこと。へたくそな質問は再提出を要求される。 ・詳しい内容(「動きません」「うまくできません」では回答しようがない) ・エラーメッセージ(自力で訳さずなるべくそのままで) ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる)) ・最終的にやりたいこと(もっとよい方法がある場合が多いので) 回答してくれた人には「ありがとう」のひとことをいってあげて。 ■回答する人へ 相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。 それができないならこないこと(だって初心者スレだもん)。 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
- 814 名前:813 mailto:sage [2008/12/25(木) 05:36:00 ]
- すいません、事故解決です。
doc/"a[text()*='ABC']"でできますね。 Hpricotとかをtagやセレクタでぐるぐる回すものだと勘違いしてました。 お騒がせしました。
- 815 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 06:04:46 ]
- >>811
自分のコードかデータにバグを引き起こす原因があるとは思わないの?
- 816 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 06:44:34 ]
- >>815
pc11.2ch.net/test/read.cgi/tech/1227123021/l50
- 817 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 06:51:44 ]
- >>797
とりあえず該当の行を見て、まずどこて落ちたのかを調べるべき それでも本体のバグっぽかったら諦めて報告 >>809 本題とは関係ないけど、CGIアプリケーションでPStore使うのはオススメしない rubyのバージョンが古くなるとデータ読めないことがあるから 自分しか使わないスクリプトなら問題はないけど 今ならYAML::Storeオススメ
- 818 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 13:26:33 ]
- >>810
hiddenを入れて対処できました。ありがとうございました。 >>817 そうなんですね。YAML::Store に書き換えておきました。ありがとうございました。
- 819 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 13:59:37 ]
- >>815
>>797見てそう思う方がおかしくないか?w でもmysql環境を見直してみる価値はありそう。
- 820 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 15:36:57 ]
- 某サイトのurlをopenした所、
uninitialized constant StanderdError (NameError) こんなメッセージが出てプログラムが途中で止まることがあるですけど、これって何が原因なんでしょうか。
- 821 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 15:38:47 ]
- >>820
>StanderdError StandardErrorと書いたつもりのどっかでスペルミスしてる。
- 822 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 15:45:45 ]
- がっちょわるー
class MyHogeError < StanderdError end とか書いてあるんだな がっちょわるー >>820 使ってる外部ライブラリの中から「StanderdError」という文字列を探して「StandardError」に直接書き換えとく
- 823 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 15:51:11 ]
- > rubyのバージョンが古くなるとデータ読めないことがあるから
これをあまり心配してない俺 その時になってから過去のバージョンの pstore で読んで、新しいバージョンの pstore で書き出せばよくね? PStore を YAML で置き換えて常用するなんてブルジョワジョワジョワに過ぎるだろ
- 824 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 15:57:22 ]
- どんなデータをどんだけ保存したいかによるね
ファイルが数KB程度で収まるなら読みやすいYAMLのほうがよかろう なんかよくわからん大量のデータの数百KBを読み書きしまーすというのならさすがにちょっと うっかり画像を保存したことがあるが遅くて死んだ
- 825 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 16:06:11 ]
- バイナリだとクラッシュしたときの復旧がしんどいから
ちょっとしたデータのシリアライズにはyaml/storeがお気に入り。
- 826 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 16:09:07 ]
- とりあえず一般ユーザーはこれ使っとけ、と言えるほどのものがRubyにはまだないんだ
用途に応じて使って適宜バックアップだの負荷測定だのしなきゃならん
- 827 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 16:15:51 ]
- >>826
ガイドみたいなのがあるといいよね ってるびまにあるのか
- 828 名前:797 mailto:sage [2008/12/25(木) 16:26:27 ]
- >819
mysql関係ですか, とりあえず今夜は,sqliteで同じように実装してから 再現確認してみます.
- 829 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 16:51:39 ]
- >>821
>>822 begin open("*****") rescue Timeout::Error rescue StanderdError <<<<<某プログからのコピペまんま rescue EOFErro rescue Exception rescue NameError end こんな感じで例外関係の対処法ググっては追加していた中で某ブログからコピペしたものが、 スペルミスしていたとは..。 即回答ありがとうございました。実は昨日からハマってました。
- 830 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 17:05:59 ]
- >>829
コピペうんぬんより、エラーメッセージを*よく*見て原因を考えるクセをつけようぜ!
- 831 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:03:26 ]
- Ruby学習者の「2冊目の本」、買ったやついる?どう?
- 832 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:24:03 ]
- エロティックランゲージだかなんだか副題がついてたやつか
- 833 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:26:47 ]
- 今すぐ買ってくるわ
- 834 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:39:08 ]
- あれはRuby学習者というか、Rubyを使いたい人向けの本だろ
位置的に初学者本の次くらいなんじゃねーかとは言われてないわけでもないが
- 835 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:46:05 ]
- 隠しても仕方ないか
Rubyで作る奇妙なプログラミング言語 〜Esoteric Language〜 ttp://www.amazon.co.jp/dp/4839927847/ > 1-2 サンプルプログラムに特化した言語、HQ9+ > HQ9+とは > HQ9+インタプリタを作ってみよう > 1-3 8つの命令ですべてを記述する言語、Brainf*ck > 1-4 決して印刷できない言語、Whitespace > 2 Esoteric Languageを作る > Esoteric Languageの設計と実装 > Starry言語の設計 > 付録 Esoteric Language傑作選 > Befunge、 Wierd、Shakespeare、Chef、Unlambda、Grass > False、NULL、AAAAAAAAAAAAAA!!!!、INTERCAL、Malbolge、KEMURI、Taxi
- 836 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:09:53 ]
- なんかBFスレでは、へんな言語をネタにしたRuby入門本とか言われてたが。
...GRASS、無いのかw
- 837 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:15:39 ]
- >>836
GrassとGRASSは違う言語?
- 838 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:27:35 ]
- あ、Grassです。見えてなかったらしい。すまん。
- 839 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:34:55 ]
- 新しい「プログラミング言語 Ruby」が来年の1月に出るのか。
1.9.1のリリースが迫って書籍もまた出てきそうだな。
- 840 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 01:05:48 ]
- RubyでSQLを用いるときってどういう時ですか?
解析させるデータ数が多いとか相互参照が多いときとかですかね?
- 841 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 01:11:04 ]
- リレーショナルデータベースを使うとき...というか、
どういう時にリレーショナルデータベースを使うか、という質問?
- 842 名前:797 mailto:sage [2008/12/26(金) 05:53:14 ]
- とりあえず解決したので報告です.
原因はいまだにわかりませんが Railsのヴァージョンを 2.2.2 -> 2.1.2 へとダウングレードすることで正常動作するようになりました. mysql postgres sqlite3 と三つ試しても同じ結果だったので, 諦めかけてましたが, 友人が作ったv2.1.2のプロジェクトを実行したとき 偶然うまくいったのがきっかけでした
- 843 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 11:31:16 ]
- >>840
Rubyの「メモリ内でのハッシュ構造+ディスク上でのPStoreのようなもの」ではどうにもならない場合 具体的には>>841
- 844 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 12:35:59 ]
- SQLの方が良い場合も歩けど
オブジェクトのままシリアライズした方が良い場合も結構ある 後者だと単純にSQLに置き換えるって訳には
- 845 名前:デフォルトの名無しさん [2008/12/26(金) 23:20:20 ]
- 鋸のXPathが期待した結果を出さないのだが,なぜ?
url = "bit.sikkou.jp/servlet/xxw.XxWServlet?O_sale_unit_id=00000006772&O_court_cd=31131&O_thing_cls=2&O_tender_flg=1&PAGEID=XxW04_jp_0130&ACTION=anchor" doc = Nokogiri::HTML(open(url)) puts doc.xpath('//b[text()="公告日"]') 「<b>公告日</b>」になるはずなのだが, 結果は空白(要するに検索できてない) エンコードの問題でしょうか? ちなみにスクリプト自体はUTF-8です。
- 846 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 23:25:17 ]
- >>845
あ〜、これは誰かがどっかで説明しないといけないんだけど、Nokogiri.new は実は引数を3つとるんだよ 第3引数は文字列の文字エンコードを書く doc = Nokogiri::HTML(open(url), nil, 'SHIFT_JIS') って書いてみ
|

|