- 1 名前: 【大吉】 mailto:sage [2009/01/01(木) 13:13:22 ]
- プログラミング言語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を読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
- 861 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:26:19 ]
- クラス CGI2ch::BBS
クラスメソッド CGI2ch::BBS.new([index]) 最新の板一覧取得用URL(複数候補可)を指定 インスタンスメソッド menu() 板一覧を取得 戻値 (cat, host(FQDN), board, name) のリスト 例: [('', 'www.2ch.net', '', '2chの入り口'), ('', 'info.2ch.net', 'guide', '2ch総合案内'), ..., ('ニュース', 'mamono.2ch.net', 'newsplus', 'ニュース速報+'), ..., ('PC等', 'pc11.2ch.net', 'unix', 'UNIX'), ... ('PC等', 'pc11.2ch.net', 'tech', 'プログラム技術'), ...] board(name) CGI2ch::Boardのインスタンスを生成
- 862 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:26:43 ]
- クラス CGI2ch::Board
クラスメソッド CGI2ch::Board.new(host, board) インスタンスメソッド subject() スレ一覧を取得 戻値 (key, title, res) のリスト(スレッドキー, タイトル, レス数) 例: [(1223709050, 'Rubyについて Part 33', 624), (1233033091, '愛国Ruby', 14), ...] thread(key) CGI2ch::Threadのインスタンスを生成
- 863 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:27:07 ]
- クラス CGI2ch::Thread
クラスメソッド CGI2ch::Thread.new(key) CGI2ch::Thread.create(name, email, body) 新スレを立ててインスタンスを生成 インスタンスメソッド read(key) write(name, email, body)
- 864 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:27:32 ]
- >>856
こんな感じで計画中だけど どう?
- 865 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:32:48 ]
- クラスメソッド
CGI2ch::Thread.new(board, key) CGI2ch::Thread.create(board, name, email, body) 新スレを立ててインスタンスを生成 boardが必要かな
- 866 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:42:18 ]
- >[(1223709050, 'Rubyについて Part 33', 624),
> (1233033091, '愛国Ruby', 14), ...] なにこれ
- 867 名前:710 mailto:sage [2009/01/27(火) 17:22:38 ]
- >>711
Railsのスレあったんですね。 気づきませんでした。 >>715 コメントありがとう。 結局原因がわからなかったので、rjsの中でhtml(<option></option>)を組み立てて、selectボックスに 対してreplace_htmlしたら回避できました。
- 868 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 17:29:56 ]
- >>864
計画倒れにならんようにがんがれ
- 869 名前:デフォルトの名無しさん [2009/01/27(火) 17:42:31 ]
- 2chの仕様なんて面倒だぞ。
専用ブラウザ開発者はマゾヒストとしか思えない。
- 870 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:00:13 ]
- >>864
スレ違い 2ch専用ブラウザの作り方 ttp://pc11.2ch.net/test/read.cgi/tech/1180406037/
- 871 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:14:12 ]
- >>862
愛国はかんべんw
- 872 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:17:05 ]
- >>871
はいはい面白いね至高のギャグだね
- 873 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 19:18:57 ]
- リファレンスマニュアルの使いにくさをどうにかしてください。
例えば、タイムアウトさせたい処理について調べたい場合、目次を見てもどこを見ていいのかさっぱりわかりません。
- 874 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 19:26:10 ]
- あ、オフィシャルサイトは検索休止中なんだっけ
timeoutで全文検索すると出てくるぞ
- 875 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 19:35:31 ]
- 「Ruby マニュアル」でぐぐると「ruby マニュアル 検索」が関連で出てくる現状はどうにかしたほうがよい
ttp://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=Ruby+%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB&num=10
- 876 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 21:08:35 ]
- ttp://doc.loveruby.net/refm/api/view/search?q=timeout
るりまはいつになったら公式化するのだろうか
- 877 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 21:22:00 ]
- >>876
MLいわく、静的HTMLを吐くツールが整備されてから
- 878 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 23:59:46 ]
- >>864
期待してます
- 879 名前:デフォルトの名無しさん [2009/01/28(水) 00:01:28 ]
- >>864
そんなことしてる暇あるんなら Rubyのリファレンスマニュアルを検索出来るようにしてくれさい
- 880 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 03:16:09 ]
- つ refe2
- 881 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 04:26:03 ]
- Rubyラブじゃ☆
- 882 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 05:49:46 ]
- >>879
さっさとchm版を使ってください
- 883 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 11:53:50 ]
- require "active_support" すると、
あらゆるオブジェクトに daemonize というメソッドが付いてくるんですが、 これって ActiveSupport が意図してやってるんでしょうかね? こうするメリットが良くわからないんですけれども。
- 884 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 12:03:24 ]
- Kernel や Object クラスのようなものに外部モジュールがメソッドを追加するというのは議論を呼ぶ設計なのは確か
ActiveSupport::Daemon.daemonize(obj) みたいなのでいいじゃんというのも指摘としては真っ当 そこで笑ってこっち見てる YAML 君もこっち来なさい
- 885 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:25:11 ]
- require "active_support"を使わなければ問題ない
- 886 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:45:39 ]
- String#each_line(sep) って、中で事前に巨大な配列作ってますか?
「ちょっとずつ」改行まで読み込んで返している動作ですか?
- 887 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:47:17 ]
- フラッグ型に保ち合ってきた。どっちかにブレイクするかもな。
- 888 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:50:12 ]
- 誤爆・・・
- 889 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:55:36 ]
- >>886
String#each_lineだから「読み込んで」は不適当な気がするが、 改行を探しては1行作ってyieldし、という挙動ではある。
- 890 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:59:42 ]
- str.split(/sep/).each do |line|
と str.scan(/\G#{sep}/){|line| なら、String#each_line は後者のイメージに近いと思われ 「str が 大きかったら each_line 1回のためだけにでっかい配列ができて胃が痛い」とか考える必要はないかと
- 891 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 14:06:07 ]
- やっぱ str.to_a.each_with_index do …はあんまりよくないのか
each_line_with_index って each がえにゅめらぼーウンタラの関連でどっかのバージョンで登場してたりする?
- 892 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 14:19:37 ]
- >>891
行番号が知りたいんだろうけど、each_lineは行ごとにループ呼ばれるから 自分でカウントアップすればいいんじゃない?
- 893 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:05:28 ]
- str.each_with_indexじゃダメなん?
- 894 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:21:04 ]
- String から呼ぶ Enumerable のメソッドって String をどう扱うかイマイチわからん
- 895 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:29:55 ]
- >>892
> 自分でカウントアップすればいいんじゃない? なにそのwith_indexの存在意義自体を土足で踏みにじる暴言
- 896 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:36:40 ]
- >>893,895
1.9のStringってeachがなくなってEnumerable非対応に なるんじゃなかったっけ? >>894 Enumerableのメソッドは全てeachに依存してるから、eachに準ずる。 直観的じゃないという話なら同意。
- 897 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:37:02 ]
- Rubyには放っておいても増える隠し定数のループカウンタとかないの
- 898 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:43:37 ]
- >放っておいても増える
そんなもんあったら問題だw
- 899 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 16:59:30 ]
- 1.8.7以降限定ならstr.each_line.with_indexでいいんじゃないの。
それより前だったらstr.each_with_indexでいいし。
- 900 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 17:02:23 ]
- each_with_index自体あんまり使わないから正直どうでも良い
- 901 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 17:06:36 ]
- 行志向のファイルを処理するスクリプトを書かない人には無用の長物だな
- 902 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 17:15:11 ]
- 全機能使って書いてるのはRubyを作ってるモルモンくらいでしょ
- 903 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 17:20:55 ]
- 昔どのメソッドが何するもんかは覚えても実際使わないと忘れて逝くのが人類です
- 904 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 17:55:08 ]
- >>894
1.9でString#eachがなくなって Enumerableじゃなくなったのはそれが理由だよね バイト単位なのか、文字単位なのか、行単位なのか一般的には決まらないので 自分で明示して each_byte か each_char か each_line を使えと でも自分スクリプトで Stringが行単位のEnumerableなのを利用して いきなり文字列の sort とかuniqとかしてたんだよね で、1.8.6以前と1.9以降の両方で動くようにスクリプトの頭で unless String.method_defined?(:each) class String alias each each_line include Enumerable end end
- 905 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 18:31:47 ]
- >897-898
$.
- 906 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 23:19:41 ]
- よいまとめがあったんでシェア
Ruby1.9をこれから使う人のためのM17Nまとめ - 福島でRailsを使って仕事を頑張る計画 d.hatena.ne.jp/xibbar/20090126/1232946944 >>887 市況2?w
- 907 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 03:47:31 ]
- >>864
wktk
- 908 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 04:19:58 ]
- 1.9なら
str.each_line.with_index {|line, idx| ... } でFA。でかい配列を作ったりもしない。
- 909 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 10:32:14 ]
- 1.9知りたきゃ、これ見ろってことっすかね?
日本Rubyの会 公式Wiki - 1.9 Links jp.rubyist.net/?1.9+Links
- 910 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 11:02:09 ]
- >>909
リファレンスマニュアル見ろよ
|

|