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


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

Ruby 初心者スレッド Part 23



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

602 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:36:51 ]
RD

は死んでる?
gem でイイのないもんかね

603 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:41:45 ]
Hiki に Wiki 書法用のパーサが付いてたような気が

604 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:42:53 ]
WikiCreoleパーサをさがしてみるといいんじゃないか?
あるかどうか知らんけど。

605 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:48:25 ]
RedCloth とか BlueCloth とか。
日本語がちゃんと扱えるかどうかは知らないけど。

606 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 16:08:25 ]
つWikiforme
使いやすいとは言えないがかなり面白い。
これとTenjin組み合わせれば・・・とか妄想してる。

607 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 16:09:43 ]
rake で sh "command" としたときに、command が画面に表示されないんですが、そんなものでしょうか。
どんなコマンドが実行されているか表示されてほしいんですけど。

608 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:18:08 ]
Installing ri documentation
Installing rdoc documentation

これでバカみたいに遅いのはなぜ?
中で何やってこんなに遅いの?

609 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:21:52 ]
ソースコードを解析してドキュメントを作ってるから、だと思う。多分

610 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:29:06 ]
ファイルが細かくて多いと死ヌほど時間かかる印象



611 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:30:06 ]
あれってなんで事前作成してないんだろ。
環境によって出力結果変わったりするもの?

612 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:31:55 ]
>>611
できるものがでかいから。

613 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:35:48 ]
まあつまりファイルサイズをケチってるわけだな
実際のドキュメントを見るとわかるがまあ結構デカい

デフォルトデザインのドキュメントくらい添付してもいいと思うんだが、
まあ、全パッケージの全バージョンを保持してるわけだし、
それぞれに2種類のドキュメントをさらに保持というのは確かに辛いかもしれず

614 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:53:36 ]
回答サンクス。でも所詮は圧縮効率よさげなテキストでしょ。
パッケージはgzipとかしてるだろうし、試しにzipアーカイブに・・・

rubygems-1.3.1/rdoc/ 2,425,167byte -> zipped 820,211byte

把握したw

615 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 18:16:02 ]
余裕じゃん

616 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 18:45:30 ]
>>603
HikiDocか。

>>601
Hikiのは古いから、HikiDocでぐぐって(単体で保守されてる)
あとはRakeと連携して細かいところを自分で書けばおっけーじゃね。

617 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 19:17:03 ]
>>601
Marukuもあるよ
高機能な割に、いまいち安定しないが

618 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 19:26:32 ]
>>611
>あれってなんで事前作成してないんだろ。
事前に作成できるよう指定できるよ。
ようは各gem作者がそれを指定してないだけ。

619 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 20:10:37 ]
>>599
鬼車のを今の1.86で組み込んで使うことはできないんでしょうか?
戻り読みの正規表現が使えないと非常に困るのです。

ネットで調べたら「VC++で鬼車をコンパイル云々」と出て来ましたが、
プログラミングはRubyから始めたばかりなので、
別のプログラムが必要とかになるとお手上げなのです。

何とかならないものでしょうか。鬼車の2.x系で構わないので。

620 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 20:18:19 ]
鬼車を使うか旧来のregexエンジンを使うかはコンパイルオプションで
決まっちゃうので、自分でコンパイルがお手上げなら、鬼車を有効に
してあるバイナリを探すしかない。あるかどうか知らないけど。

駄目ならRubyでやるのを諦めるしかないと思うけど。



621 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 21:13:29 ]
鬼車gemもあるな。
リテラルの/.../だと組込の正規表現クラスを使ってしまうので、
全部明示的にメソッド呼んで組み立てる必要があるが。


622 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 21:29:29 ]
gem のライブラリのファイルをどこで誰が読んでるかを調べる方法はある?

gem 'package_name', '=1.0.0'

でバージョンを指定してるはずなんだけど、

/usr/lib/ruby/1.8/rubygems.rb:142:in `activate':
can't activate package_name (>= 1.0.1, runtime),
already activated package_name-1.0.0 (Gem::Exception)

という例外が出て動作しない
1.0.0 を指定してるんだから 1.0.0 だけ読んでくれよ
っていうかバージョン指定でインストールさせるライブラリの作者は安易に require だけすんな氏ね

623 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 21:32:02 ]
>>620
レスありがとうございます。
戻り読みが使えないのは大変に困るので、
素人でもコンパイルと言うものができるなら挑戦してみようと思います。

ええと、ネットで調べたのですが、
Rubyと鬼車のソースを手に入れて解凍し、
鬼車の解凍フォルダをRubyの解凍フォルダに入れて、
Visual C++ Toolkit 2003 Commandでコマンドを入力してコンパイル

で、基本的な流れは良いんでしょうか。
鬼車を組み込むために特別なことは必要ないのでしょうか?

>>621
できれば他の正規表現と全く変わらないように使いたいので、
鬼車を組み込んだRubyの方がありがたいのです。

624 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 21:39:26 ]
>>623
なんかすごいことしようとしてるなー

ちなみに、その戻り読みが必要な正規表現ってどんなの?
もしかしたら、戻り読みが必要ないかたちに書き換えられるかもしれないし。

625 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 22:13:45 ]
>>624
> なんかすごいことしようとしてるなー

そんなに素人には敷居が高いのでしょうか?
確かに戻り読みは全ての正規表現に使うわけではないので、
>>621さんの鬼車gemというのを使った方が良いのでしょうか。

626 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 22:17:53 ]
たぶん、
Object.const_set('Regexp', ORegexp)とかしてしまえば(警告出る)、
Regexp.newで作った後は同じように使える(と思う)から、
/.../と書けない以外はそれなりに使えるんじゃないだろうか。


627 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 22:18:01 ]
コンパイルとか一回やっとくと後々役に立つこともあるだろうから
やっといてもいいと思うけど。
Cygwinじゃダメなの?

628 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 22:58:02 ]
>>607
-v

629 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:06:19 ]
>>623
「鬼車を組み込むために特別なこと」は鬼車のドキュメントに書いてある。
それに従えば大丈夫だと思うよ。

630 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:48:15 ]
「ひらがな ←→ カタカナ」の変換ってどうやるんでしたっけ。



631 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:56:38 ]
>>630
Ruby単体では難しいな
NKFに頼るのが妥当か

632 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:01:56 ]
プログラムのlogを自分宛にメールで送りたいと思ったんだがpop before smtpってよくわからん
○行処理完了,×行目失敗,△行目失敗...ぐらいのちょっとしたものなのに

633 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:05:43 ]
>>632
そのまんまだよ
smtpの前にpopでただアクセスすればいい
履歴はサーバが短時間記憶してくれているから普通にsmtpでアクセスだ

メール関連は詳しく説明するとSPAM送るアホが出るからどこも親切にはしてくれないだろうね

634 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:15:20 ]
>>631
サンクス

635 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:51:58 ]
>>630-631
一方向の変換ならString#trじゃダメ?

636 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 09:48:35 ]
aという配列の要素に、正規表現でキャプチャした値を入れたいです。
具体的には
a[0]=$1
a[1]=$2
以下同様です。
これを
0.upto(4) do i
 a[i]=$(j+1)
end
とかやってもコンパイルエラーがでてしまうのですが、組み込み変数$1,$2・・・に
イテレータを利用してアクセスできる方法はありますか?

637 名前:636 mailto:sage [2008/12/19(金) 09:49:51 ]
>>636は書き間違いました。
a[i]=$(i+1)
です。

638 名前:636 mailto:sage [2008/12/19(金) 09:54:02 ]
自己解決しました。
0.upto(4) do i
 a[i]=$~[j+1]
end
でいけました。一人で何やっとるんだ俺は。

639 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 09:56:11 ]
自己解決ハヤスw

640 名前:636 mailto:sage [2008/12/19(金) 09:59:49 ]
>>638は書き間違いました。a[i]=$~[i+1]です。もう俺は死ね。



641 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 10:06:44 ]
萌えた

とりあえず a = $~[1..-1]

642 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 10:07:51 ]
$~.capturesオススメ

643 名前:641 mailto:sage [2008/12/19(金) 10:10:44 ]
1.8から追加された便利メソッドか。老害の俺も死んでくる

644 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 11:00:36 ]
もちつけ >638

645 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 11:53:42 ]
>>631
NKFにそんな機能あったっけ?
ていうか、ひらがな←→カタカナなら
str.tr 'あいう(略)アイウ(略)', 'アイウ(略)あいう(略)'
でどうだろう。「ヴ」をどうするかとか問題はあるけど。

646 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 12:45:16 ]
>>645
irb> puts NKF.nkf('--hiragana', 'ルビーは超うんこ').toutf8
るびーは超うんこ
nil
irb> puts NKF.nkf('--katakana', 'ルビーは超うんこ').toutf8
ルビーハ超ウンコ

toutf8は表示用

647 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 12:51:20 ]
きれいなプログラムを書くには 箸キプログラミング基礎
ttp://d.hatena.ne.jp/kiyo560808/20081215/1229363279

…4点くらい

648 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 12:54:27 ]
このスレの住人はRuby嫌いなのか

649 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 20:18:16 ]
File.open と、単なるopenの違いは何ですか?

650 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 20:54:14 ]
Ruby1.91はいつ出るのでしょうか? 検索したら、
「Rubyf1.91 2007年12月リリース」とかいうページが出て来るし。



651 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 20:59:17 ]
>>649
普通にファイル開いて使ってるぶんにはどっちも同じです
File オブジェクトを返します
好きなほう使ってください

File.open 派が若干多いような雰囲気はするけど

652 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 21:20:28 ]
>>651
同じですか
サンクス

653 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 21:26:50 ]
>>601です
いろいろフォーマット扱える Webgen に手を出したらもうぜんぜん動きません
reStructuredText とか文法いいなーと思うけどこれ Python なんだよね
教えてもらったものいろいろ試します
せんきゅです

654 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 21:31:59 ]
>>651
>普通にファイル開いて使ってるぶんには
普通でない場合を勝手に補足。
組み込み関数のほうのopenはPerlのopenみたいに"|cat"みたいなパイプの繋ぎ方を
半端にサポートする。
あと、open-uriを使う場合も違いが出る。

655 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 21:39:11 ]
RubyでMatlabの行列ファイルを読みたいんだけどいいライブラリないですか?

656 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 21:56:41 ]
全部Matlabで完結したほうがよくね?

657 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 22:06:19 ]
>>656
実は、データファイルを持ってきてシミュレートせよという課題なんですが
Matlabがなく、OctaveはまともにWindowsでは動かないので…

658 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 22:24:43 ]
そういうのはデータファイルだけもってこいよ

659 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 02:39:59 ]
Ruby on railsは、まともなスピードで動かす場合、
月5,000円のレンタルサーバーが必要です。

一方、cakephpなら、月500円のレンタルサーバーで
十分なスピードで動きます。

660 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 08:29:05 ]
>>658
1.配布されてるデータがMatlab形式
2.解析方法がワカンネ
3.これを使ってk-NN法の実験をしなくちゃならない(レポートの提出はあさってAM10:40)
4.私はMatlabを持ってない

\(^o^)/



661 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 08:42:09 ]
>>660
エディタで開け
バイナリならMatlabスレで聞けば目で読める形式にしてくれるだろ

662 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 08:53:53 ]
>>661
バイナリですよ
で、どこの板にありますか?

663 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 09:45:04 ]
見つかりましたがなんか雰囲気が違います

664 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 10:05:56 ]
Windows版のOctaveを使ってファイルの変換だけやって
テキストファイルにしてしまえ
いくらWindows版Octaveが不安定といっても
ファイル読んで書くくらいならできるだろう

もしくは、仮想マシンにLinuxいれてでもOctaveをつかうとか


665 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 10:44:07 ]
>>664
とりあえず書き出し中。ただ、ディスクが逼迫しているのできちんと書き出せるか
かなり不安だが。

666 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 10:52:43 ]
とりあえず書き出せた。テキスト形式の解析も完了。
さあRubyでがしがし処理するか

667 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 19:08:36 ]
「10日でおぼえるRuby on Rails」と「はじめてのRuby」を読んだばかりの
Ruby歴2週間のおれに教えてくれ。

Rails2.2を入れたいのだが、Ruby1.9.0Xでいいの?1.9.1の未完成版は止めた方がいい?
仕事じゃないから人柱でもなんでもいいけど、
慣れない環境であまりにも動かないと何が何だか分からなくなってつらい。
最新版命主義だから1.8.6Xはよほどひどくないと考えていないっす。

668 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 19:12:33 ]
Rubyの最新版は1.8.7だよ
1.8.6は古いから、しがらみも資産もない新規さんなら1.8.7でウキウキ新機能をエンジョイしろ
Railsも完全に動作するし

669 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 19:22:18 ]
>>668
レスサンクス

1.8.7ってあいのこみたいなイメージがあるのだが。
1.9系みたいにマルチバイト文字列を簡単に扱いたいんだけどできる?

670 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 19:51:18 ]
結局速いのがいいから1.9.1系にしちゃった。不具合上等。サンキューな。



671 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 19:54:11 ]
さて果たして670がどうなるのか
ちょっとワクワクしてきた

672 名前:632 mailto:sage [2008/12/20(土) 20:05:21 ]
>>633
gmail使うことにしました
我ながらなんという遅レスか

673 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 20:44:50 ]
>>660
Matlab持ってる研究室尋ね歩いて使わせてもらえ

674 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 21:33:35 ]
1.91はまだか。

675 名前:670 mailto:sage [2008/12/20(土) 22:26:30 ]
Vista64を使ってるから、1.9.1最新(64bit)入れたけどgemが動かず。
1.9.0最新(64bit)入れたけど動かず。1.9.1最新(32bit)入れてようやくRailsのインストールまで終わった。
落としたバイナリのzlibがだめなのかなと思ったが、疲れたから完璧ということにした。

676 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 22:40:31 ]
Vista 64ビット版で1.9.1に挑戦するとは……なんという茨の道
でもそんな根性のあるユーザーは嫌いじゃないぜ

677 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 22:48:29 ]
>>676
嫌いになる可能性しかないような気がするんだが
問題切り分けできない状態でなにが勉強か

678 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 23:46:21 ]
32bitや64bitという言葉が出てくるんだから、まるっきりコンピュータの素人というわけでもなかろう。
たぶん誰も助けてやることはできないだろうけど、がんばれ。

679 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 09:12:31 ]
>>673
とりあえずなんとかOctaveでテキスト形式に変換完了。
今延々回してるがかなり長くなりそうorz

680 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 09:35:39 ]
そもそもRubyは学術計算には向かない



681 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 12:18:43 ]
>>680
何をするかに依るが、簡単な数値計算には俺は使うよ。
一行で書いて答ポンと出す感じのコード。向いてると思う。
ちょっと入り組んでる計算(シミュレーション、微分方程式、FFT etc)
だと C++ で書くけど。

682 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 12:34:26 ]
計算が多少複雑でも、コード書くことだけ考えればRubyで十分扱えると思う
むしろ問題なのは処理速度

683 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 12:35:45 ]
行列演算の結果狂ってるとかいうのなかったっけ

684 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 14:07:22 ]
学術計算にいまどきプログラミング言語か

入り組んでいる計算なら
mathematicaとかmatlabのほうが向いてると思うね
簡単な計算ならlinuxについているbcが向いてる

685 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 14:09:34 ]
mathematicaも立派な関数型言語搭載のプログラミング環境ですから

686 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 14:10:34 ]
はいはい、「汎用の」が抜けてた抜けてた

687 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 14:29:33 ]
巨大な計算をする時はやっぱmathematicaやmatlabは遅い。
とは言え、代替物としてRubyを使うのもどうかとは思うが。

688 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:00:04 ]
nokogiriのgemインストールが失敗します。
riの生成に失敗しているようなのですが、これはどのように対処したもんでしょうか?


> gem install nokogiri
Successfully installed nokogiri-1.0.7-x86-mswin32-60
1 gem installed
Installing ri documentation for nokogiri-1.0.7-x86-mswin32-60...
ERROR: While executing gem ... (NoMethodError)
undefined method `new' for nil:NilClass

> ruby -v
uby 1.8.7 (2008-06-20 patchlevel 22) [i386-mswin32]

689 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:31:48 ]
>>681
計算時間の見積もりが4日とかorz
256次元のベクトルの距離を頻繁に求めるので手間かかりすぎ。
ある1本と別の4000本との距離を求めるだけで45秒。
使ってるクラスはmatrixに入ってるVectorクラス。

690 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 19:55:22 ]
>>688
$ gem install --no-ri nokogiri
とりあえず。ちなみに gem help install で調べられる。

ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32]
gem 1.3.1
では問題は起きなかったっす。



691 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 21:08:15 ]
>>690
rdocもなんか失敗したので、これでいけました。
gem install --no-ri --no-rdoc nokogiri
ありがとう。


692 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 21:10:09 ]
ちょいと質問なのですが、
HTMLファイルの一部を書き換えたいのですが、
nokogiriとか使うとパースや部分的なノード置換がすごく楽なのですが、
出力すると(to_html)元のHTMLがかなり崩れてしまいます。

元のHTMLをなるべく維持したい場合はどうしたらよいものでしょうか?

693 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 21:13:02 ]
見掛けが崩れるだけで、htmlとしては大部分が同じはずだが
HTML上の改行位置や空白数なんかも維持したい場合は正規表現で置換するしかないな

694 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 21:19:33 ]
フラットな処理で何とかなるならHTMLSplitとか

695 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 21:35:38 ]
rubygemsのsyntaxってあんじゃん
なんていうか、マトモなCSSってどこかにない? vimやEmacsのハイライト意識したやつとか
RubyとHTMLのだけあればいいんだけど

あのRubyのとか酷過ぎるだろ常識的に考えて

696 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 21:42:02 ]
>>693-694
レスありがとう。

なるたけ維持したかったので、頑張って正規表現でgsubしてみました。
そんなに複雑じゃなかったのでなんとかなったみたいです。
お騒がせしました

697 名前:デフォルトの名無しさん [2008/12/21(日) 22:03:17 ]
for i in 1..50
hoge
end
の 50 を a を Array として
for i in 1..(a.size)
としたらだめのようでした。
aのサイズだけ for を走らせたい場合、Ruby はどうするのがよいでしょうか?


698 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 22:07:31 ]
普通はこうする。

a.size.times { |i| p a[i] }

699 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 22:09:38 ]
>>697
a.each do |e|
p e
end

Ruby では for はまず使わない

700 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 22:10:35 ]
>>697
よのどのことがないかぎり、Rubyでは単純ループにforは使わないと慣習があるぞ
>>698 でよいかと思う



701 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 22:10:50 ]
インデックスが欲しければこう

a.each_with_index { |e, i|
}

702 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 22:11:32 ]
ごめん、>>699






[ 続きを読む ] / [ 携帯版 ]

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

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