[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/16 20:58 / Filesize : 261 KB / Number-of Response : 970
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Ruby 初心者スレッド Part 19



1 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:26:33 ]
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。

   【Ruby1.9 は不安定な開発版であり初心者には全く向きません】
   【最新安定版の Ruby1.8.6 の使用を強くお勧めします】

関連スレや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を読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。


856 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:11:34 ]
"foo=123;qoo=456;zoo=789".scan(/\d+/)

857 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:25:49 ]
正規表現は「1回だけ」マッチするのが基本
m = /.+=(\d+);.+=(\d+);.+=(\d+)/.match("foo=123;qoo=456;zoo=789")
puts m[1],m[2],m[3]

結果:
123
456
789

文字列に対して繰り返した結果の配列が欲しい場合は>>856のようにString#scanを使う
scanにブロックを渡した場合は適当に部分マッチ結果が渡る

"foo=123;qoo=456;zoo=789".scan(/\d+/){|m|
puts m
}

結果:
123
456
789

マニュアルのStringとArrayとHashとEnumerableの4つだけは読んでおくといいぞ

858 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:50:32 ]
>>856-857
詳しいところまでありがとうございました。勉強になります。

859 名前:デフォルトの名無しさん mailto:age [2008/06/16(月) 14:58:20 ]
Ruby1.8.6でメール送信フォームを作っています。

次のような流れで、送信する前に確認画面を設けたいのですが―

フォーム送信(Html)

確認用CGI(Ruby)で処理

確認画面の表示・フォーム送信(Html)

送信用CGI(Ruby)で処理

名前やメールアドレスといった文字列データは、
確認画面を経由させるのに問題ありませんが、
ファイルを添付させた場合、tempfileオブジェクトをどのように経由させればよいかわかりません。

今考えているのは、ファイル名だけを経由させ、
送信用ファイルでそのファイルを処理すればよいかと考えていますが、
FireFoxではtempfileのoriginal_files要素を取得してもフルパスを取得することができません。

フルパスを取得する方法、もしくはフォーム送信時の常套句的な方法があれば教えてください。

860 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:59:29 ]
>送信用ファイルでそのファイルを処理すればよいかと考えていますが、
送信用CGIの間違いです。よろしくお願いします。

861 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 15:19:06 ]
>>859
「確認CGIではファイル名取得だけ行い、送信画面でそのファイル名のファイルを実際に送信する」ということはできない
Webブラウザでは、<input type='file'> を POST する場合にしか、ファイル選択ダイアログとファイル送信はできない実装になっている
だから、入力画面のsubmitを受けたときにファイルは必ず受け取らないといけない(だから、あまり確認の意味がない)
受け取ったファイルをサーバで保持して、確認画面のsubmitが来たらファイルを実際に使用する、という手順にするしかないな

問題のひとつは確認画面でキャンセルされたときのサーバ側に残ったファイルの扱いなんだが、これは適当に消せ
あと、確認画面で戻る押されて別のファイルをアップロードされたときの扱いとかも面倒だな

どちらにしても、Rubyの話ではないので適当なCGI関連のスレで研究してくれ

862 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 15:31:55 ]
>>861
どうもありがとうございます。

>どちらにしても、Rubyの話ではないので適当なCGI関連のスレで研究してくれ
そういうことでしたら、Perl等、他の言語で書かれたCGIも参考にしてみたいと思います。
助かりました。

863 名前:デフォルトの名無しさん [2008/06/17(火) 11:40:57 ]
質問させてください。
現在Ruby on Railsの勉強をしています。
しかし根本的な部分で躓いてしまいました。
練習してみようとtsukaeru.netのシルバープランというVPSサーバーをレンタルいたしました。
しかし、まったくこの上でrubyを用いたホームページを公開する方法がわかりません。

ruby on railsははいっていますか?との質問にサポートは入っています。との解答でした。それ以上のサポートはできないとのことなので
失礼ながらこちらで質問させていただきます。
勉強をしている本は基礎Ruby on RailsというものなのですがこちらはWindowsで導入する方法でしかもローカルで動く方法のみ書いてあったのでそれを一般に
公開するという点では参考になりません。

サーバ構築なども全く初体験なのです。
rubyのプログラムは普通のHPのようにpublic_html直下にindex.htmlをおけば動くといったものではないのですか?
公開するまでの具体的な方法をおしえてください。よろしくおねがいします。
OSはLinux CentOS5(final)のようです。

864 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:05:19 ]
windowsで導入してローカルで動かせばいいじゃないか



865 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:08:55 ]
うむ

866 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:43:28 ]
>>863
まず、その程度の知識でVPSに手を出すのが無謀
組織の命令でやらざるを得ないのなら同情する

ちなみに

% ruby script/server

を実行すれば、適当なポートでHTTPサーバが立ち上がるので
あとは localhost:(ポート番号)/ にアクセスすれば、サンプルページは見えるはず
よく分からないなら素直にWindows使って練習した方がいい。VPSはその後で

867 名前:デフォルトの名無しさん [2008/06/17(火) 15:19:46 ]
まじすか
そんなにハードル高いものだとは・・・orz
Windowsでやるということは、それを公開するには自鯖を立てるしかないのでしょうかね?
自鯖は少し理由があって立てられないのです。

レンタルしているVPSサーバー上でruby script/serverとすると
ruby: No such file or directory -- script/server (LoadError)
と出てしまいます。ruby -vなどとすると正しくバージョンが出ますのでインストールされていることは確かなはずです。

VPS以外で、もっとも簡単にRuby on Railsを公開するにはどうすればよいでしょう。。。
もとからRubyが使えますよ〜っと書いてあるレンタルサーバーでもどのようにしてつかえばいいのかさっぱりです。
本でも読んで勉強もしますのでよろしければはじめの一歩でも教えてください。

868 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:06:20 ]
つか、なんで知識無い奴がRoRやってんの?
CGIとHTTPとDBの知識無い奴がRoRなんか触ったって意味ないのに

869 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:15:51 ]
>>867
Rails環境の構築は初心者には難しい
お薦めの手順としては

1.WindowsにRails環境を作って、そこでRailsの基礎を勉強する
基礎Ruby on RailsにもRails環境入りのCDがあるけれど、ここは「InstantRails」を使うべき

2.ある程度Railsアプリケーションをローカル(つまりWin)で作れるようになったらVPSでの公開を検討する


遠回りかもしれないがまずはローカルでRailsを動かしてみよう
学生さんですか?
ここはRubyスレで微妙にスレ違いの話になるので、捨てアドでも晒してくれたら色々と教える事は可能


870 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:19:05 ]
>>867
>ruby script/server
script/serverは、最初にrails generateで作ったディレクトリの中にある
あとは分かるな?

>VPS以外で
自鯖が立てられないならほぼ不可能
CGIスクリプトとして動かす手段もあるにはあるが、たぶん遅すぎて使い物にならない
それでもやりたいなら「dispatch.cgi rails」でググれ

871 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:22:14 ]
>>868
そんな事は無いだろう
DBは必須だがCGIとHTTPの知識が無いRailsエンジニアなんてゾロゾロいるぞ
もちろん誰かが作ってくれた環境上でアプリを作るだけしかできないが

872 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:25:29 ]
>>870
いや、実はRails自体入ってないんじゃないかとオレは思ってるw
867にはrails -vしてみて欲しいところだな

873 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:32:10 ]
>>868
まあ、Railsはどこをどう見ても

「わかってる人間が手早く作るための強力フレームワーク(※ 引き換えにパワー上限あり)」

なんだが、Javaソリューションビジネスで負けた奴らが次点を求めてRoRにツバつけようと群がったもんだから
「あなたにもRoRが簡単にできます」ビジネスの被害者が続出してる
そういう被害者の人たちのフォローをするのも初心者スレの役目だとは思うぜ

874 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:38:38 ]
>>873
Railsはシンプルでわかりやすいけど、それは「ある程度わかっている人」限定の話なんだよなぁ
プログラミング未経験者ならRailsよりもPHPの方が簡単に入れるだろうとは思う



875 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:01:38 ]
Rubyの知識はあるのかなあ
無いんだったら、俺ならダッシュで本屋行ってPHPに鞍替えするね

876 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:19:53 ]
おk
>>867はPHPに乗り換えなさいw

877 名前:デフォルトの名無しさん mailto:linksuplinksup@yahoo.co.jp [2008/06/17(火) 18:10:33 ]
皆様ご回答ありがとうございます。
現在の、ローカルのWindows環境では本にしたがい、localhost:3000で動くことはできました。
それを一般に公開するなんて簡単だろうperlのcgiとおなじだろ〜っと考えていたらみごとに躓きました。

ご指摘のとおりrails -vしてみたところRails 1.2.2と返ってきたので入ってはいるみたいです。

そしてRoRのソースやらが入っているディレクトリまでcdで移動して再度script/serverを打ってみると

create
File exists - script/server

と帰ってきました。どうやらサーバーがたったようではなさそうな感じですが・・・

あと一歩なんでしょうかorz

ちなみに言語経験はC#とVBを少々でございます。
捨てアドさらせば教えていただけるというとても親切な方がいらっしゃいましたのでアドレスを書いて見ます。
よろしくお願いします。

878 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:38:56 ]
初心者か

879 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:43:32 ]
>>878
まあ、初心者スレだからな

来るのはRubyの初心者だけにして欲しかったもんだが
2ch初心者とかネット初心者とかコミュニケーション初心者とかは正直勘弁

880 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:44:48 ]
つーか>>878とか>>868は上から目線すぎ
誰だって知らない分野はあるだろ

881 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:47:51 ]
lololol

882 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:49:54 ]
>>880
ほいほいメールアドレス晒したり
Windows以外で動作させるための文献検索すらできてなかったりするのは
どうにも擁護できんぞ
「知らない分野」とかそういうレベルではない

883 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:53:29 ]
>>880は「お前には無理だからやめろ」とはっきり言ったほうがいいと仰っておられるのですよ
RoR使うのやめろというレスを全部スルーしてるからな

884 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:10:38 ]
>>882
自分のメールアドレス晒すのは、別に擁護する必要無いだろう。



885 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:12:56 ]
RoR以外の手段を使えというアドバイスですが、一応RoRについての文献をすでに購入してしまったことと
また、RoRを勉強してみたいという意欲のもと始めましたので、別の言語は考えていません。
LinuxにRuby と Railsを入れる方法についてはいろいろと調べまわったつもりなのですが具体的に公開手順を示されているサイトが
みつかりません。メールアドレスを晒したのは>>869さんが親切にあのようにおっしゃってくれたからです。
微妙にすれ違いとの事ですので、失礼しました。

886 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:02:43 ]
Rails云々とは関係なくHTTPとCGIについてよく書けている記事があったので晒してみる
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20080128/292199/?P=4&ST=oss

これを書いたやつは見込みがあるな

887 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:11:11 ]
そのシリーズはなかなか良質
抽象データのあたりとか、
よくまあ説明が複雑になりがちな概念をここまで平易に

888 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:18:50 ]
タイトルで吹いたw

889 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:58:25 ]
直伝噴いた

890 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:21:08 ]
ここまで言うならぜひ言語を作って欲しい物だ

891 名前:デフォルトの名無しさん [2008/06/18(水) 02:07:50 ]
最近読んだ『ハッカーと画家』でrubyの評価が結構高かった。
著者曰くLispに最も漸近しているスクリプト言語とのこと。

892 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 02:25:08 ]
お前が読んだのは最近かもしれんが、書かれたのは何年も前だぞ

893 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 02:33:52 ]
原語のほうは公開されてなかったっけ

894 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 02:54:16 ]
Lispに最も漸近しているって褒め言葉になってないぞw



895 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 04:17:14 ]
>>891
それ、
『今大人気の言語RubyはLispに一番近い言語なんだよ(知ってた?)
 でもさ、だったらLispそのものを使ったほうがいいよね?』
っていうプロパガンダだよ。PGの文章は今から見ると宣伝とか
自己啓発系のものが多いから、半分眉唾で読んだほうがいいよ。
リアルタイムで読んだら興奮するんだけどね。

896 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 07:54:35 ]
MSが絡むと途端に理性を失うよねこの人

897 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 15:53:28 ]
ここは初心者が質問するスレじゃなくて性格のねじれた中級者の雑談でよろしいでしょうか?それならば私も混ぜてください

898 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 15:54:24 ]
>>896
評価するところは評価していたかと
キャッチコピーが技術者のことをよく分かってるって

899 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 15:58:31 ]
>>897
そういうのは基本的にはアンチ専用スレで

900 名前:デフォルトの名無しさん mailto:age [2008/06/19(木) 00:57:36 ]
Ruby CGIで質問です。

Print文で処理中をあらわす文字列を表示し、
処理が完了したら、次にそのことを知らせる文字列を表示したいのですが、
最初に表示した処理中をあらわす文字列を消すにはどうすればいいのでしょうか?

901 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:08:39 ]
CGIで逐次表示とか考えるな


902 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:10:16 ]
>>900
それは、ボタンをポチッと押すと
「ただいま処理中です」
とかいうメッセージの表示されたhtmlを表示して、
サーバ側の処理が終わったら*自動的*に
「終了しました」
とか書かれたhtmlを表示したいということでしょうか?

903 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 02:07:05 ]
>>900
Ajaxでどうぞ


904 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん



905 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 07:19:48 ]
>>901
少なくとも標準あるいは標準の応用でなんとかできるものではないな
RubyやRubyライブラリとしてのサポートはないと思われる
自前でJavaScript書くしかないねえ

906 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 10:37:36 ]
>>902
そういうことです。

>>901 >>903 >>905
CGIで逐次表示は考えないようにします。
Ajax(JavaScript)で対応したいと思います。

どうもありがとうございました。

907 名前:デフォルトの名無しさん [2008/06/20(金) 17:31:54 ]
jp.rubyist.net/RubyKaigi2008/Live.html

908 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:50:56 ]
爆撃荒らしうぜえ

909 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 20:37:19 ]
JRubyの質問ってここでいいのでしょうか・・・?

JRuby-1.1.2.zipを dist.codehaus.org から落としてきて
JDK-1.4.2_10の入っているPCに入れてみたけど、

noclassdeffounderror : java/lang/enum と出てjrubyもjirbも
立ち上がりません。

enum型ってJDK-5.0 からのサポートらしいけど、
JRuby-1.1.2ってJDK-5.0でしか動かないのでしょうか?

宜しくお願いします。


910 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 04:11:42 ]
>>909
READMEに、JRubyのコンパイルにJDK1.5以上が必要って書いてあるからそうなんだろ

911 名前:909 mailto:sage [2008/06/22(日) 09:47:53 ]
>>910

ネットの記事では1.4.2でも動作するって書いてあったのですが
実際はJDK5.0でないとだめなようですね。

返答ありがとうございました。



912 名前:デフォルトの名無しさん [2008/06/22(日) 12:26:13 ]
あるHTMLファイル(何でもいいんですが一般的なWebページの)からリンクしているURLを
取り出そうとしています。ぐぐったらscrapiとかいうので簡単にできたんですがかなり
処理速度が遅いのです。

高速に取り出そうとしたらやはり正規表現で取り出すしかないのでしょうか?
hpricotというのも見つけたのですがいまいちよくわかってません。

robustかつ高速に取得する方法はないものでしょうか?

913 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:43:09 ]
利用者のIT製品に対する基本姿勢は、Microsoftを相手にするときのそれが最も健全であって、
ブーブー言いながら使うのが一番だと思うが、最近は企業ブランド崇拝みたいのができあがっていて、
Apple教団はご愛嬌と思っていたが、何だかこれも同じような感じで、嫌な雰囲気だ。Googleしかり。

特にヘビーユーザーがそういう信者というか、エヴァンジェリストになって
教義に染まない利用者の不満をさえぎる壁になると異様。

そういうのって普及前のファンダムの色が残っているから、と楽観視していたのに。
これだけシェアを拡大しても、いっこうにあらたまらないな。


914 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:46:44 ]
>>912
自力でサイト固有の正規表現考えて抽出してそのサイトの URI に + するのが簡単
正規表現めどいという人に Hpricot

require 'rubygems'
require 'hpricot'
require 'open-uri'

uri = URI.parse('www.ruby-lang.org/ja/')
doc = Hpricot.parse(uri.read)
puts doc.search('a').map{|e| uri + e['href']}.find_all{|e| e.scheme =~ /\Ahttp/}.uniq

実行結果
www.ruby-lang.org/ja/downloads/
www.ruby-lang.org/ja/documentation/
www.ruby-lang.org/ja/libraries/
www.ruby-lang.org/ja/community/
www.ruby-lang.org/ja/news/
www.ruby-lang.org/ja/security/
www.ruby-lang.org/ja/about/
www.ruby-lang.org/ja/news/2008/06/20/arbitrary-code-execution-vulnerabilities/
www.ruby-lang.org/ja/news/2008/06/13/ruby-1-8-7-p17-release/

...



915 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:53:43 ]
('a')がAAに見えた

916 名前:912 mailto:sage [2008/06/22(日) 13:27:20 ]
>>914
ありがとうございます。
scrapiよりは速そうです。scrapiが今使ってるマシンだと動かない(64bitに対応していない?)みたいなので
直接比較はできませんが。でも、robustという意味ではyoutubeのURL入れるとだめっぽいですね
ex : ttp://jp.youtube.com/watch?v=T08oWYjwlSY

サイト固有の正規表現を記述するのは一番確実でしょうが一番汚いやり方だと思うので
スマートかつある程度速くできないものかなぁと試行錯誤中です。

917 名前:デフォルトの名無しさん [2008/06/22(日) 13:47:32 ]
jp.rubyist.net/RubyKaigi2008/Live.html

918 名前:デフォルトの名無しさん [2008/06/22(日) 13:51:42 ]
>>863
遅レスでもうみてないかもしれないけど。

Railsはともかく・・・
もし、あなたがVPSの管理もする(専用の管理者があなただけ)のなら、VPSを今すぐ解約しよう。
そのうちクラックされて他人に迷惑をかけるだけですよ。

まずは、ローカルで試す(Windowsでもできる)か、ローカルネットワークで外に公開しないサーバーを建てるなどをして知識を十分にしてからでも遅くはないよ。
VPSの場合、RubyとかRailsとかやる前にサーバーの管理の方法も一通り学んでおく必要がある。

919 名前:デフォルトの名無しさん [2008/06/22(日) 13:53:02 ]
>>916
それは、httpじゃなくて、ttpだからでは?

920 名前:912 mailto:sage [2008/06/22(日) 14:14:22 ]
>>919
単純に貼るときに抜いただけです。httpでやってhpricotで例外吐きます。

921 名前:デフォルトの名無しさん [2008/06/22(日) 15:34:31 ]
初めまして、
今回ruby on railsを勉強したいと思って、インストールしようとしとして
$ gem install rails --include-dependenciesを実行したんですが、うまくいきません。
だれか、情報があったら教えてください。

C:\ruby>gem install rails --include-dependencies
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you
Bulk updating Gem source index for: gems.rubyforge.org/
Bulk updating Gem source index for: gems.rubyforge.org/

↑の状態で一時間ぐらい止まってます。別にPCは動くので、フリーズとかでもないです。
www.rubylife.jp/index.htmlのサイトの手順通りにやったんですが…

ちなみに、ruby及びRubyGemsもちゃんとインストールしてあります。

どなたか情報お願いします。
OS: Windows Vista です。

922 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 16:15:27 ]
>>921
マシンスペックにもよるが、Rails 新規インストール時に数時間返答がないのは普通
1日以上待った例もあるからそのまま放っておけ

923 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 16:19:26 ]
>>921
Debianの例で悪いけど、回避策もやはりあるみたいよ。

d.hatena.ne.jp/takaxi/20080128/1201482937

924 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 16:36:28 ]
めんどくさいなあ

>>916
どうして例外が起こったかはわかる?
残念だけど、Web のスクレイピングは文字通り例外との戦いだぞ
サイトごとに調整しなければならないと思ってくれていい
HTML や HTTP の知識はあるかな?
たとえば以下の方法だと 142 のリンクが抽出されてるけど、本当に必要なのは数個だろ?

require 'rubygems'
require 'hpricot'
require 'open-uri'

uri = URI.parse('www.ruby-lang.org/ja/')
doc = Hpricot.parse(uri.read)
puts doc.search('a').map{|e| e['href']}.compact.map{|e| uri + e}.find_all{|e| e.scheme =~ /\Ahttp/}.uniq




925 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 16:46:58 ]
uri が前のままだった

本質的には puts doc.search('a').map{|e| e['href']} だけでいい
でも、それだと相対 URL で書かれているリンクがわけわからなくなるのでわざわざ uri に join してる
http:// と https:// 以外を取得しても意味がないことが多いからわざわざ http:// と https:// 以外を除いてる
で、Youtube では「onclick で JavaScript 起動しかさせないリンク」という href 自体がない <a> タグがあるのでわざわざ href が nil な場合を compact で除いてる
他のサイトでは「欲しいリンクだと思ったら実は画像貼り付けのボタンでPOST」とかにも対処しなければならないかもしれない

require 'rubygems'
require 'hpricot'
require 'open-uri'

uri = URI.parse('jp.youtube.com/watch?v=T08oWYjwlSY')
doc = Hpricot.parse(uri.read)
puts doc.search('a').map{|e| e['href']}.compact.map{|e| uri + e}.find_all{|e| e.scheme =~ /\Ahttp/}.uniq


926 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 16:58:19 ]
HTML の知識はないとダメだよね
後出しで youtube 出してきたけど、欲しいのは動画ファイルのURLや各種一覧にあるURLだろうし
これからまた絞らないといけないだろうな(おそらくはCSSセレクタとかXPathとかあのへんの知識が要る)

927 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:01:13 ]
リンクされてるURLを抜き出すライブラリを作ってるというならともかく、
無駄にあれこれ悩むよりさっさと正規表現使って抜き出せばいいと漏れは思う。

928 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:03:18 ]
そういう意味では>>914の1行目の時点で回答は出てるんだよな

929 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:32:00 ]
うっかり汎用性を求めてしまうのはRubyスクリプトの悪い癖
初期ではそのノリで標準ライブラリになってしまったりしたが

930 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:33:53 ]
>>921
rubygems 1.2 で劇的に改善されたらしい。
rubyforge.org/forum/forum.php?forum_id=25353


931 名前:930 mailto:sage [2008/06/22(日) 17:38:48 ]
gem 1.2.0 にしたら、gem が笑っちゃうぐらい高速になったよ。

932 名前:デフォルトの名無しさん [2008/06/22(日) 18:19:17 ]
RubyKaigがニコ動うpされまくってるぜ

タグ検索 RubyKaigi2008‐ニコニコ動画(SP1)
www.nicovideo.jp/tag/RubyKaigi2008

933 名前:デフォルトの名無しさん [2008/06/22(日) 18:24:58 ]
>>931
メチャメチャ速くなってる気がするwwww
gem updateがさっくりオワタww

934 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 18:58:55 ]
>>932
お、今年はうpが早いな。
あとで見る。



935 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 19:27:22 ]
標準の関数的メソッド以外で引数のカッコ省略するのやめようぜ

936 名前:912 mailto:sage [2008/06/22(日) 21:47:13 ]
>>924-925
遅くなりましたがありがとうございました。
やはり例外との戦いなんですね。参考にします。

>>926
youtubeはたまたまブラウザで開いてるURL全部入れて試しただけです。
youtubeから抜き出したいというわけではなかったのです。

937 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 14:10:30 ]
gem1.2は爆速w
>>930ありがとう

938 名前:日立バキバキ高野くん祭り [2008/06/23(月) 20:00:05 ]
1.日立製作所社員の高野くん(高野光弘)が会社を誹謗中傷して機密も漏洩
2.日立のユーザーにも「キチガイ」との障害者差別発言
3.日立製作所の企業イメージをバキバキにする
4.自身のサイトの『32nd diary』に掲載
5.日立製作所に通報される
6.あせって似顔絵削除
7.火に油を注ぐだけで所属する日本UNIXユーザ会にも通報祭り勃発
8.「給料泥棒」と説教される
9.「殺します」と殺人予告をして警察に事情を聞かれる←イマココ

高野光弘の行動
現在は、過去の記事を閲覧できなくして、「本日の日記はツッコミ数の制限を越えています」としています。
まずは、不愉快な思いをされた方々に謝罪するべきなのではないでしょうか。

高野光弘の発言
「まぁ、どこの団体もそんなにヤワじゃないので、平気なんですけども。
日本UNIXユーザ会が一番対応に慣れてる感じ。」

日本UNIXユーザ会が対応に慣れているか、みなさん確認してみてください。

連絡先
www.net.intap.or.jp/oiia/cont2/p0402.html%7B0recid=10168.html

939 名前:デフォルトの名無しさん [2008/06/24(火) 00:00:05 ]
postgresql にdbiを使って接続しようとしたんですが、うまく行きません。

/usr/local/lib/ruby/site_ruby/1.8/dbi.rb:368:in `load_driver':
Could not load driver (no such file to load -- /usr/local/lib/ruby/site_ruby/1.8/dbd/Pg) (DBI::InterfaceError)

というエラーがでてきます。

$ echo 'export PATH=/usr/local/psql/lib:$PATH' >> ~/.bash_profile

でライブラリへのパスは通っていると思うんですが、
解決策をお教えいただければと思います。

940 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:44:50 ]
>>939
/usr/local/lib/ruby/site_ruby/1.8/dbd/Pg.rb
は存在するの?

941 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 06:51:08 ]
UNIXにおいては、ライブラリパス(というか、soの在処)は
LD_LIBRARY_PATH
あたりで設定すると記憶しているが。

942 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 14:23:27 ]
linuxではldconfig とかも使う。

943 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:12:24 ]
Solarisならcrleとかね

944 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:14:08 ]
ldd でlib全部リンクできてるか確認するとかね



945 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:35:17 ]
Macならotool -L だな。


946 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:54:40 ]
939です

皆さんご丁寧にありがとうございます。

>>940

/usr/local/lib/ruby/site_ruby/1.8/dbd/Pg.rb は存在しなくて、
/usr/local/lib/ruby/site_ruby/1.8/dbd/Pg/Pg.rb があります。

PATHやLD_LIBRARY_PATHはOKな筈なんですが、うまく行かないです。
こちらの環境は、macなのでotool -L などでもう少し格闘してみます。

947 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 23:14:53 ]
>>946
ruby-pg はインストールしてる?

ruby -rpg -e0
を実行して何も出なければ入っているって事なんだが。

それにしても分かりにくいエラーメッセージだな>dbi
真の原因を隠すなよ。

948 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 04:05:46 ]
Rubyでシューティングゲームつくってるんですけど

949 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 04:08:31 ]
ごめ 途中でカキコしちゃった
Rubyでシューティングゲームつくってるんですけど 弾が当たってゲームオーバーになった時に画面全体を赤っぽくしたいんですけど なにかいい方法ありませんか?

一応予定としては
画面全体を赤で塗る 
透過する 
って考えているんですけどがんばっていろいろ探ってみてもやり方がわかりませんorz どうかよろしくおねがいします。

950 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 04:33:13 ]
>>949
手順
1.Rubyをアンインストール
2.HSPをインストール
3.「シューティングゲームビルダー」でぐぐる。
4.HSPをアンインストール

わざわざRubyで作る意味がわからない

951 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 05:02:34 ]
ん十年前の質問を思い出すなぁ

C言語でゲームを作りたいんですがどうすればいいですか?



しるかーぼけー

952 名前:デフォルトの名無しさん [2008/06/25(水) 07:11:46 ]
Rubyかんけえねえw

953 名前:デフォルトの名無しさん [2008/06/25(水) 07:12:54 ]
少し質問があるのですが、数値的なシミュレーションをして
結果を分布図(正規分布の図みたいなの)として出力したいのですが、
適したグラフライブラリはどんなものがありますでしょうか?

954 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 07:20:52 ]
Excelとかw



955 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 07:35:18 ]
数値だけ出力して、グラフはgnuplotに任せるとかはダメかな?

956 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 07:59:27 ]
gnuplotのラッパあったよな、確か。
後は

Rubyist Magazine 0006 号
Ruby Library Report 【第 5 回】 数値計算と可視化
ttp://jp.rubyist.net/magazine/?0006-RLR

とか。

957 名前:デフォルトの名無しさん [2008/06/25(水) 09:04:23 ]
>>954-956
ありがとうございます。

ああ、gnuplotでもいいか。

GnuplotのRuby用のインターフェースはこれですね。
rgplot.rubyforge.org/
gemにもありました。Windowsでもつかえるかな?

あとは、テキストのとかw
Histogram class for ruby(Kodama's tips page)
www.math.kobe-u.ac.jp/~kodama/tips-ruby-histogram.html#japanese

かっこいいグラフとか、
Gruff Graphs for Ruby | Ruby on Rails for Newbies
nubyonrails.com/pages/gruff

>>956
数値計算のライブラリの詳しい紹介、助かります。

うまく画像化できそうです。一通り試してみようと思います。
ありがとうございました。

958 名前:デフォルトの名無しさん [2008/06/25(水) 09:07:44 ]
ちょっとした疑問なのですが、srandとかrandって
何故、クラス化かモジュール化されてないのでしょうか?
徹底的にOOPしているRubyにおいてrandは不思議な存在に思えます。

MLのログなど見てみたのですが、過去にクラス化の議論はされているようで↓
blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-dev/30954?30947-31824+split-mode-vertical

パッチが作られていて、1.9で当てられるようなことになっているのですが、
SVNのtrunkや1.9.2とかのソースを見ても当たってないようです???

959 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 09:22:20 ]
>>949
どんなライブラリを使ってるのかが分からないと、助言のしようがない

960 名前:デフォルトの名無しさん [2008/06/25(水) 09:56:07 ]
ArgumentErrorエラーメッセージのことで質問させてください。
wrong number of arguments(1 for 0)
このとき「引数の数が間違えてる」のは文字通りわかるのですが、
(1 for 0)はどう読んだらいいんでしょうか?
引数なし(0)のところに1つ(余計に?)渡してる、みたいなニュアンスでしょうか?

今、あるライブラリを使っていてこのエラーが出ているのですが
引数の数は間違えておらず(関数側にもデフォルト値も設定されている)
原因を探しているところです。

961 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 10:10:38 ]
>>960
お前英語苦手だろ

962 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 10:53:50 ]
Rubyの入門書はエラーメッセージに 2〜3節割くべきだと思う

>>960
1 for 0 は「0 個の代わりに 1個得た」と読む
日本人にはまだわかりにくいな
(got 1, required 0) とでも書いてくれればわかりやすいんだが
引数総数しか問題にしてない記述で、引数 0個のメソッドなのに引数が 1個渡されてるというエラーだ
このメソッドに引数を渡してはいけないってことだな

irb> 'abc'.downcase('param')
ArgumentError: wrong number of arguments (1 for 0)



963 名前:960 mailto:sage [2008/06/25(水) 11:03:15 ]
>>962
ありがとうございます。
直接呼び出しているメソッド内から呼ばれていたメソッドで
引っかかっていたようでした。
構文が古いのか(?)マニュアル見て書き直してみたらうまくいきましたm(_ _)m

964 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 12:14:18 ]
>>958
ttp://doc.loveruby.net/refm/api/view/library/securerandom




965 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 12:30:57 ]
>>950 一応Rubyの書き方覚えつつ作ろうかなぁと思ってちまちまつくってます。

ライブラリはSDLとfpstimerはいってます。

966 名前:デフォルトの名無しさん [2008/06/25(水) 12:55:07 ]
>>964
んーたぶんそれと違うような。Mersenne Twisterをラップしたのなんだけど・・・

>>965
Rubyでゲーム制作ならこっちのスレの方がよいかと思う
【Ruby/SDL他】Rubyでゲーム制作・総合スレッド
pc11.2ch.net/test/read.cgi/gamedev/1207069887/

967 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 13:03:33 ]
>>966
普通の乱数ジェネレータのオブジェクト化ね。
多分やってない、やる気がないだけだと思うけど。

確か、過去の議論で、うまい名前とうまいAPIがあれば、みたいな
話になってたかな。

968 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 13:10:11 ]
>>966 スレちソマソ 誘導サンクスー

969 名前:958 [2008/06/25(水) 13:20:17 ]
MLのその後のRandomパッチの議論を見つけました。
blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-dev/31993?31774-32131+split-mode-vertical

なんかグダグダのまま頓挫してますね・・・。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<261KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef