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


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

Ruby 初心者スレッド Part 21



1 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:07: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を読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。

552 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 05:03:00 ]
頭が良いが性格は悪い、というキャラを目指す奴の大半は
どっちも悪いキャラに終わるよな。

553 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 05:25:14 ]
>>552
どれとどれが「どっちも」ってのなんだ?
これだけで、おまえが低学歴なのがよーく分かるw

554 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 05:45:12 ]
目の前の文章の意味すらわからないのに、
目に見えない色んなことは次々と「わかっちゃう」のも
特徴の一つだね。

555 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 06:41:29 ]
低学歴は夜間の大学を受験したらどうだ?学歴でバカにされるの嫌だろw

556 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 08:27:04 ]
ロジックとかは経験でカバーできます。


557 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 08:34:40 ]
>>552 カンベとかルビキチとか。

558 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 08:57:57 ]
>>556
そうすると、経験でカバーできないのはなんでしょうか?

559 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 10:44:41 ]
>>550
サーチパスにC:¥myrubyを追加して、そこからmylibをrequireするなら、
ruby -I C:¥myruby -r mylib source.rb


560 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 11:04:42 ]
>>550
バックスラッシュは直後の文字をエスケープするから、
"c:\myruby\mylib" は c : \m y r u b y \m y l i b と解釈される

ruby -I "c:/myruby/mylib" source.rb

または

ruby -I "c:\\myruby\\mylib" source.rb

で動作するはずだ

スクリプト開始時の require 前に $LOAD_PATH 配列に "c:/myruby/mylib" という文字列を要素として追加してもよい
なるべく配列の先頭に入れるといいと思う



561 名前:デフォルトの名無しさん [2008/09/06(土) 11:22:07 ]
ご親切にありがとうございます。
 $: . push ("c:/myruby") ;
としてるんですけど、ソース1行目に、
 #! ruby -I "c:/myruby"
だと無理みたいです。

それと、ruby -help でみると、-Idirectory -rlib -Kcode とかなっていて、空白いるのかいらないのか不明だし、なんかヘルプの方が混乱しているみたいです。
公式レファレンスの説明も1行あるかないかだし、やる気なくなりました。
BSDのインストールと日本語化が困難でやる気なくなって、vine linuxで済ますアレと同じ感覚ですw

あと、module Mymo とinclude/require関数とかも日本語だと説明不足で英語サイトだと著者の思想も込みで説明が詳しすぎて、結局モルモン思想はウザくてやる気が起きません。
rubyのコミュニティーは、rubyプラットフォームをツールとして広める気があるんのか疑っちゃいますw

562 名前:デフォルトの名無しさん [2008/09/06(土) 11:27:24 ]
関数とカッコの前後に空白どうとか言う警告を削除してもらえませんか?

 obj . push ( a , b )

じゃ言語としてダメでありサポートしないのか、それともいいのかハッキリしてもらえませんかねー
こんなところまでモルモン思想の押し付けをワーニングするのはもう止めませんか?ウザいんですけどw

563 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 11:34:32 ]
>>561
スクリプト1行目のShebang行は規則に則った単なる文字列だ
シェルで実行されるわけではない
シェルと同じ動作をすることを期待されても困る

564 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 11:57:30 ]
お前らが優しいのは十分わかったから、いい加減かまってちゃんの相手をするのはやめてくれ

565 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 12:02:05 ]
ライブラリの設計が悪いんだろw

566 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 13:12:43 ]
ここんとこ毎日初心者スレにくるところをみると、どこでも相手にされてないようだな。

567 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 13:15:47 ]
というよりも、戻り値の型で

p nil==false # false

は勘弁して欲しいけど。
このスレのレベルだと、どうしてなのか分からないんだろうと思う。

568 名前:デフォルトの名無しさん [2008/09/06(土) 13:17:36 ]
ルビーは犯罪者も使ってるんですよ!刑務所の犯罪者たちにエサを上げないで下さい!!

569 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 13:22:22 ]
本スレのITドカタたちよりは技術的な質問が多いな。あのスレはカスばっかりでもうダメだろ…

570 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 13:25:40 ]
たしか…



571 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 13:40:21 ]
>>566
おまえもスレに張り付いて、いったい何やってんだ?仕事もしてないんだろw

572 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 13:46:21 ]
それが罵り言葉になる環境にいるなんて可哀想


573 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 13:46:56 ]
土方は蔑称だから使っちゃダメだよ。

574 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 13:47:30 ]
571は今日が土日だということを理解できていないらしい

575 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 13:47:49 ]
宇宙大王の言い分
このスレ: 低学歴・無能の集まりなので分かってくれない
ML: モルモンなので分かってくれない
リアル: 大人は分かってくれない

アドバイス
あなたを分かってあげられるのはあなただけ。自分を大切にしてあげて。

576 名前:デフォルトの名無しさん [2008/09/06(土) 13:52:49 ]
はいはい。もう分かったから死ね

577 名前:デフォルトの名無しさん [2008/09/06(土) 13:56:57 ]
rubyを使うようなのはwebクーチャーとか言う職業の人たち、つまりITドカタでしょwwww
たーまにbsdとかも使ってるシステムの奥の方の人も居るけどwwwww
2chでIPAの愚痴を言うようじゃ、仕事も大したことやってないし、せいぜい雑用係のカス野郎ってことが良く分かるwwwwwwwwカスw

578 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 13:58:32 ]
いや、IPAは無駄だろ。除法処理技術者の資格をもっていても、もっていなくても、別に金にならないし。

579 名前:デフォルトの名無しさん [2008/09/06(土) 14:14:12 ]
WEB開発とか雑魚だろ。しかも文系でどこにも就職出来なかったような雑魚だしな。

べつにrubyのCソースを追いかけてるわけでもないし、なんか生意気な奴が多いようだけど、雑魚だろw

いちど、みっちりCをやって、GCのソースとか見てみたらどうよ?雑魚ちゃんww

580 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 14:16:05 ]
そんな雑魚相手に弱いものいじめしなくても…彼らは雑魚なりに一所懸命生きてるんだからさ……



581 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 14:19:16 ]
>>340
いやいや、デンターシステマ超極細毛(かため)以外認めんぞw

582 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 14:23:01 ]
僕だってれっきとしたWEBクリエーターだ!クリーチャーじゃないぞ!!

583 名前:デフォルトの名無しさん [2008/09/06(土) 14:26:09 ]

弱いものいじめ反対!

いつか必ず天罰が下るぞ!!




584 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 14:37:10 ]
>除法処理技術者
煽りじゃなく「割り算のプロ」っぽくていいな。それ。

585 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 14:41:13 ]
>>581
君、いつもつまんない

586 名前:デフォルトの名無しさん [2008/09/06(土) 18:10:54 ]
s="あい"#sjis
puts s.dump

dump以外に、
”あい”を文字コードの列(配列)にするのと、
その配列から”あい”(SJIS)に戻す方法はどうやるのでしょうか。

587 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 18:45:25 ]
dumpのどのへんが不満? バックスラッシュが邪魔?
配列にならないところ? 数値が8ビット整数じゃないところ?

588 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 19:12:45 ]
RUBY_VERSION >= "1.8.7" だったら
[*str.each_byte]
とかかな

589 名前:デフォルトの名無しさん [2008/09/06(土) 20:02:53 ]
あのーバイト列(特にバイト配列)からStringにするにはどうするんでしょうか?
packとかは無しですよw



590 名前:デフォルトの名無しさん [2008/09/06(土) 20:04:01 ]
dumpは、戻り値がStringなんでArrayじゃないし、たぶん外部用(serialization)じゃないですか?
なので、関数内部のローカルで処理する用途とは少し違います。

とくに、str[k]="あ"というかんじに出来るのないでしょうか?
結局ルビーは、パールと同じで日本語(多言語)対応じゃないしなんか使いにくいのでどうせなら、
jcodeでStringにアドオンなんかしないで組み込みクラスをrubyの方が用意したらどうですか?
class JapaneseString とかかな。



591 名前:デフォルトの名無しさん [2008/09/06(土) 20:06:07 ]

str.setJavaneseCharCodePointAt(index, "あ");

APIはこんなところでしょうか。

592 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 20:14:52 ]
不覚にもJavaneseに吹いた

でも初心者スレを荒らすのは勘弁してね

593 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 20:20:11 ]
javaを語る人はjavanese

594 名前:デフォルトの名無しさん [2008/09/06(土) 20:39:48 ]
いやいや、マジで困ってるんですが…
serializationは、dumpのStringはrubyだとtaint/untaintの腐ったレベルに影響あると思うんでdumpは外部用だと思います。
それでdumpは使えないので、他にsjis, euc, u16, u8とかの一文字をstrに追加できるセッターないですか?

595 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 20:49:09 ]
matz.dump # ダンプ松本

596 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 20:58:56 ]
Matzは神ですけど、matz は orz みたく凹んこで反省してるように見えませんか?

597 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 21:02:05 ]
[*str.bytes]
↑↓
bytes.map{|b| b.chr }.join

だろうか

598 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 21:44:48 ]
Javaneseってジャワ語という意味だったな


599 名前:デフォルトの名無しさん [2008/09/06(土) 21:54:41 ]
str.concatとarr.push使って自分で実装しました。
というか、スクリプトはテキスト(日本語)処理が主要な用途なんで、これぐらい(ライブラリ作成者側が面倒でも)当然用意しておくべきじゃないですか?

>>597
ruby 1.8.5 (2006-12-25 patchlevel 12) [i386-mswin32]
なんで無理です。あと、よくわかないんですけど、[*str.each_byte]は間接参照か何かですか?
イテレータとか使うといちいちAPIみないといけなくなって面倒なんで、この程度の処理はwhileで実装です。
というか、こういう処理はwhileで十分あって、関数ポインタやデリゲートの用途じゃあるまいし、イテレーターなんてカッコつけて使うもんじゃないですよw

600 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 21:57:48 ]
>>589-591, 594
まず目的として何がやりたいのかを説明しろ
そこがわからないと適切なアドバイスもできん



601 名前:600 mailto:sage [2008/09/06(土) 21:58:56 ]
ごめんね、スルーしなかった俺が悪かった

602 名前:デフォルトの名無しさん [2008/09/06(土) 22:01:48 ]
イテレーターは自分で作ったclassやライブラリーのデータ構造をイテレートするときのもので、
StringやArrayみたいな組み込みで汎用用途じゃ、あまり向かないじゃないでしょうかね。用意されてはいるが継承用かな。
といっても、Stringには一文字処理のget/set可能なイテレートを当然に用意しておいてもらえませんかね。
とくにbyteとchar用のsetがないじゃん。

603 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 22:08:42 ]
1.9使えばいいんじゃね?

604 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 22:22:14 ]
そろそろ飽きた

605 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 22:33:11 ]
[*"foo".bytes].map(&:chr).join # => "foo"
なにコレ?

606 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 02:02:43 ]
>>567
nil に対する比較演算は nil を返してほしい口?
つうか、なんで勘弁してほしいわけ?

607 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 02:35:21 ]
全てがオブジェクトじゃなくていい派でしょ

608 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 03:13:47 ]
>>602
>イテレーターは自分で作ったclassやライブラリーのデータ構造をイテレートするときのもので、
>StringやArrayみたいな組み込みで汎用用途じゃ、あまり向かないじゃないでしょうかね。用意されてはいるが継承用かな。

どこをどう見て、そう判断したんですか。

>といっても、Stringには一文字処理のget/set可能なイテレートを当然に用意しておいてもらえませんかね。
>とくにbyteとchar用のsetがないじゃん。

Ruby1.8では、文字列はただのバイト列なので、Javaのように文字単位での扱いはあまり得意じゃありません。
ただ、文字単位で扱わなくても済む場合がほとんどなので、あなたが「1文字ずつ扱って何をしようとしているか」をまず書いてみてください。
きっとだれかが、1文字ずつではない処理方法を提示してくれると思います。

それから、全般的に日本語に不自由されているようですが、もっと人に伝わるような文章を書いてください。
エスパーするにも限度があります。



609 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 03:25:03 ]
>>606-608
>>564

610 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 04:00:37 ]
>>608
質問者に、質問し返す人いますが、あなたは少ししつこい。
あなたのプログラミングスタイルと全く違う人もたくさんいるんですけど、あなたは一生Webクリーチャーでいいんで、黙っててくれませんか?
一文字の処理を所望なのに、一文字の処理じゃない方法を提示する必要はないでしょ。
あなたに仕事を任せても、全く仕様を読まないでいつも失敗ばかりしてるんだろうと思うんで、あなたはその辺にいるゴミか何かでしょうか?
とにかくVBとかの方が儲かりますよ。




611 名前:デフォルトの名無しさん [2008/09/07(日) 04:10:34 ]
>エスパーするにも限度があります。

>>608を読んでみても、おまえが無能なのがよく分かるな
おまえのエスパーなど誰も期待してないけど?


612 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 04:13:57 ]
たぶん>>608は低学歴で脳みそ文系ちゃんだから相手しちゃダメ。
いつまでもこのスレに居座っていてみんな迷惑してんだからw

613 名前:デフォルトの名無しさん [2008/09/07(日) 05:38:13 ]
>>608

モルモン教に入信したいなら、まずは創価学会を脱退してからですよ。



614 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 05:45:54 ]
>字単位で扱わなくても済む場合がほとんどなので

split(//)とかで結局文字単位になるんだし、文の前後が矛盾してるじゃん。
こいつは何のことをいってんだ?

それと、Javaは文字単位char[]でなくてStringで処理しますが、知らないことに無駄口しない方がいいんじゃないですか?
日本語の文法から勉強なさった方がいいんじゃないですか。

615 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 05:55:02 ]
だから文系プログラマーにかまうな。思考盗聴されて頭おかしくされちゃうぞ!

616 名前:デフォルトの名無しさん [2008/09/07(日) 06:31:32 ]
思考盗聴か…層化じゃ当然だよな……

617 名前:デフォルトの名無しさん [2008/09/07(日) 07:01:15 ]
仕事してんのに一人でも女がいるとホント面倒だよなwww
女は端っこでマンコの手入れでもして、いつでも準備OKにしてればいいんじゃね?

618 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 08:17:32 ]
>>608
落ち着け
こんな時は冷静にスルーだ

619 名前:デフォルトの名無しさん [2008/09/07(日) 09:13:37 ]
さすがにプログラマに女はいないだろw
数学の女、哲学の女、以上にキモイな。
仮に想像したとしても、頭モサモサのフケだらけ、体臭はニンニク臭いなんじゃないの?

そんなキモ女はどこで道を間違っちゃったんだろうな…

620 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 09:22:41 ]
catch io exception



621 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 11:31:25 ]
>>617
俺もそう思う。
まず連中は論理的に説明しても理解しない。「できない」じゃなくて「しない」なんだよ。
生意気にも「いいじゃないですか〜」とか言ってて許されるとか思ってる。
「俺が上司なんだよ!!!なめんなよ首にすんぞ」
とか思っても労働法違反になるので言わないです、ごめんなさい。
ついて行きたいと思わせる男の魅力が足りないのでしょうね、ごめんなさい。
そういえば、大学時代も「いい人」止まりだったなぁ・・・
付き合ったは良いけど卒業後すぐに分かれたなぁ・・・
一回しかえっちしてないよ・・・ちなみに童貞×処女

622 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 11:32:56 ]
>>619
と思いたいんですね

623 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 11:51:51 ]
引数 param で受け取ったものが配列でも「 1個」でも each で同様に回したい、という場合

param.to_a.each do |e|
...

と書くのが単純だったと思うんですが、
warning: default `to_a' will be obsolete
とか生意気で妥当な警告が出ます。
わりと頻繁に使うメソッド内でのことなんですが、どう対処するのが自然ですか?
param = [param] unless param.is_a?(Array)
と書くべきですか?
「このメソッドは配列しか受け取らないので 1個だけのときは事前に hoge([para]) にしろ」
とマニュアルレベルで警告するべきですか?

624 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:11:16 ]
>>623
配列かどうか調べて、配列じゃない場合は配列に入れるという動作が "正しい"
もしくは、マニュアルなどで「配列しか受け付けません」と明記する
[*param].each do |e| とすると文字数減った上に見かけ動作も一緒だが、無駄に穴掘って埋めてる感じが超キモい

これはそもそも

irb> def disp(param); param.to_a.each{|e| puts e }; end
irb> disp('hoge')
hoge
irb> disp(1)
(irb):1: warning: default `to_a' will be obsolete
1
irb> class Integer; def to_a; [self]; end; end
irb> disp(1)
1

ということで、「オブジェクトを to_a する意図が不明瞭なので頼るな」という意図の警告だ
obj.to_a と [obj] が同じとは限らないし、違うことのほうが妥当なこともある
配列の要素にしたいのなら、to_a ではなく明示的に配列作ってそこに入れろという話

irb> Time.now
Sun Sep 07 12:01:10 +0900 2008
irb> Time.now.to_a
[14, 1, 12, 7, 9, 2008, 0, 251, false, "JST"]
irb> [Time.now]
[Sun Sep 07 12:01:18 +0900 2008]


625 名前:デフォルトの名無しさん [2008/09/07(日) 12:13:26 ]
PGやSEとか頭脳労働なら、女がいるような職場には行きたくないな。
電話オペとか事務とか誰がやっても同じなら男女雇用機会もわかるけど、
女のセンスとか女のやさしさなど、PGやSEにまったく不要で逆にあると面倒なんじゃないか?

受付や事務で雇うならともかく、女をPGやWEBデザインで雇うようなところは資本もないし
金も技能もないベンチャーはすぐ潰れるのがおちw

今のベンチャーの生き残り方法は、創価学会と手を組むか、堀江豚みたく株屋とつるむぐらいしかないんじゃないの?

626 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:13:28 ]
[ param ].flatten(1)

flattenの引数ってどのバージョンからだったかのう。



627 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:15:21 ]
おまいらの妄想には飽きたぜ。
いい加減どっか外にいけ

628 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:22:16 ]

いまでは「Webデザイン」とかかっこ良さそうな臭いがしますが、海外のスクリプト言語
紹介ではJavaScript(とその亜種)の人口は多くPerlなどが続くと紹介されますが、
2008年現在、そのなかにrubyの文字は一度も出てきません。

しょせんrubyは、(にっぽんの)文系 IT ドカタ専用なんです!
犯罪囚人の女も使ってます!
コミュニティーはモルモン教です!

負け組みの人たちが都合よく集まったというところでしょうか…
ライブラリは冗長が多いけど言語の出来はいいんですけどね……

629 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:27:01 ]
言語側がto_a, to_i とか用意しといて下位互換を無くすようなこと一度でもすると、もうそういう言語・ライブラリは信用されないんじゃないか?
OOや継承をなんだと思ってんだ?

>ということで、「オブジェクトを to_a する意図が不明瞭なので頼るな」という意図の警告だ 
obj.to_a と [obj] が同じとは限らないし、違うことのほうが妥当なこともある

これを公式レファレンスに記載すればよろしい

630 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:35:34 ]
>>626
1.9のどっか



631 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:35:44 ]
確かにruby使ってる人たちがexcel,word出身のナンチャッテばかりだと、そんなやつらと話があうはずないな。

632 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:51:44 ]
excel,wordすらまともにry

633 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:52:10 ]
arr=[11,22,33]
puts *arr
puts &arr

マニュアルみてもないんですが、* & これは演算子ですか?

634 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:55:44 ]
blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/45334
からのスレッド参照


635 名前:デフォルトの名無しさん [2008/09/07(日) 12:56:58 ]
怪しいソフトハウスは五万とあるが胡散臭いからすぐ分かる。たいてい、そういうところはDQNしかいないし長くても5年で潰れる。どう考えてみても、文系乙だな

636 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:59:12 ]
>>634
演算してるわけじゃないしな
展開記号とでも呼べばいいのかしら

637 名前:デフォルトの名無しさん [2008/09/07(日) 13:09:04 ]
* & ですけど、関数引数なら演算子とは呼ばないけど、式文中なので演算子ですよ。
リンク先のMATZ本人はその意味で言ってるんですけど、たぶんこのスレレベルだと理解できないんでしょうね。
やっぱ文系用スクリプトを使うお気軽ルビリストには、その程度の理解度でいいんでしょうか?

638 名前:デフォルトの名無しさん [2008/09/07(日) 13:12:42 ]
理解できない人はC言語をみっちりやってくださいなw

639 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 13:24:26 ]
背伸び with マニュアル のスレはここですか?

640 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 13:45:03 ]
いいえ、基礎を積むスレです。



641 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 14:53:17 ]
配列の中での*はlispでの準クオート中の式を,@付けて評価→展開するものが元ネタっぽい。
だけど関数定義のときに引数定義の中で使われると、
lispの引数リストで使われる&restとか ...みたいな可変長引数みたいになる、ややこしいな。
&付きでProcを呼び出すものはなんだろう、C++のメンバ関数ポインタ?

def foo(*x)のときの*x言うのはrest引数構文
puts *arrの*arrは展開構文
puts &arrの&arrはProc変数渡し構文

Matzも*や&単体では意味が無いって言ってるし、こんなのでいいんじゃない?
さらにこういう前後の状況によって決まる類の「なんとか構文」なんてものは、
仕様書のある言語ではよくあるものだし。

642 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:00:53 ]
Rubyとか超ウケル

643 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:23:21 ]
puts &arr ってするとエラーが出るんですけど。。。
(ruby 1.8.6 (2007-06-07 patchlevel 36) [i386-mswin32])

wrong argument type Array (expected Proc) (TypeError)

644 名前:デフォルトの名無しさん [2008/09/07(日) 15:40:31 ]
エラーが出ていいんだよ。エラーを読める程度の英語をちゃんと身につけないとねw


645 名前:デフォルトの名無しさん [2008/09/07(日) 15:44:12 ]
「文系 Web 2.0」 じゃ、やっぱ話題について来れないんだろうな…
java.net(英語)にも妄想オタクな奴が多いけど、サーバ・サイドだから学歴は高い奴多いしくおかしな文章を書いたりしないな。
だけどrubyは無能な文系ばかりしかいないようだ…メーリングをググってもゴミのごたくばかりだろ…
Matzはいつも大変だな…

646 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:45:04 ]
>>644
あっ、エラーでいいんですか。
みなさん、とうとうと解説されているので、てっきり意味のある文だと思いました。

647 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:03:30 ]
>>646
>>633を構ってないだけだ

648 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:07:49 ]
>>641
文法上サポートしている構文というなら別にそれで文句はないですが、マニュアルに書いといてください。

p [*[11,22,33]] が出来るところを見ると、単項式として値を返すので、言語上の分類としては演算子じゃないかなと思います。


649 名前:デフォルトの名無しさん [2008/09/07(日) 16:14:26 ]
>>646-647
君たちはprocを理解してないのに偉そうにしてていいの?もっと一所懸命に勉強しないと!

650 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:29:34 ]
>>648 の笑いどころ
lisp という単語出てきたとたん、腰が引ける。
2ch に来て「マニュアルに書いといてください。 」
理系の高学歴様は、ギャグのセンスもさすがだなw



651 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:45:51 ]
>>646
そんなことよりおマンコはちゃんと洗っといた方がいいですよ。いつ何があるかわからないし・・・

652 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:48:00 ]
変数名がかぶっても、ブロックの中だけ有効にするにはどうすればいいのでしょうか?

a = 1

1.times do
a = 2
end

puts a # 1になって欲しい

653 名前:デフォルトの名無しさん [2008/09/07(日) 16:52:22 ]
それよりも >>641がC++どころかCすらも理解してないのにはビックリした!

654 名前:デフォルトの名無しさん [2008/09/07(日) 16:54:20 ]
質問なので、age失礼します。
携帯でGoogle chartを使おうと、以下のようにchartのアドレスをhtmlに埋めました。

puts <<-EOD
<html><body>
<img src="chart.apis.google.com/chart?chs=150x150&cht=lc&chd=t:20,40,50,60,40,10,3">
</body></html>
EOD

結果、auやvodaphoneでは見えたのですが、docomoではグラフが見えません。そこで調べてみると、docomoではpngを読まないため、gifにコンバートしろとのこと。
ttp://ke-tai.org/blog/2007/12/10/googlechart/
しかし、Rubyで同様のコンバートを行うにはどうしたら良いか、そしてどうやってhtmlに埋め込んでいいかわかりません。やり方が乗っている場所でも結構ですので、どなたか教えていただけませんか。よろしくお願いいたします。

655 名前:デフォルトの名無しさん [2008/09/07(日) 16:58:35 ]
>>652

>>649

656 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 17:12:31 ]
>>652
変数名がかぶってる限りは無理
ちゃんと違う変数名で定義するしかない

657 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 17:20:44 ]
>>656
そうなんですか。
Perlのように、局所化するmyとかはないんですね。。。

658 名前:656 mailto:sage [2008/09/07(日) 17:21:10 ]
追伸
初心者スレの範疇を外れるけど、現在のruby1.9.0系(開発版)では
ブロックローカルな変数を定義する(=名前がかぶっても問題ない)文法がある
たぶんruby1.9.1にも入るはず

659 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 17:25:32 ]
>>656-658
やっぱり、このレベルなのか…

660 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 17:36:39 ]
>>658
今後のRubyには実装される予定なんですね
了解しました。



661 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 17:44:55 ]
ローカル変数として同じの使ってるぶんには被るの許容するしかないな
まあ不便っちゃ不便

662 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 17:46:54 ]
クロージャとかイテレーターって知ってる?

663 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 17:49:18 ]
JRubyでYAML使おうとしています。
日本語をdumpすると"\343\203\206\343\202\271\343\203\210"な感じで出力されてしまいます。
RubyのSyckでも日本語をバイナリとして扱ってしまうという、似た感じの問題があり、
パッチやら何やら書かれているようですが、
JRuby(JvYAML?)において日本語文字列のまま出力させる方法はありませんでしょうか?


664 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:02:09 ]
>>663
Ya2YAML
JRubyで試したことはないが、pure rubyだからたぶん動くんじゃないかな

665 名前:663 mailto:sage [2008/09/07(日) 18:18:46 ]
>>664
どうもありがとうございます。
でも、Ya2YAMLはSyck用のバイナリ認識するとこを修正なんだそうです。
JRubyの場合はJvYAML(JvYAMLb)だそうですので、Pure Rubyか否かは関係なさそうです……。

gihyo.jp/dev/serial/01/yaml_library/0006
日本語全然使えない、とか書いてあるところもあったりして。
普通に表示したりする分には問題無いのですが、可読性という意味で言うと価値が激減。
dumpすると頭に"---"がつく辺りもRubyの最新版と挙動が違ったりするのですよね。細かいですが。
Javaのライブラリを使っていなければRubyを使うのですけれども……。

666 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:19:14 ]
>>654
ImageMagickプログラムを使うか、それをRubyから使うRubyMagickを使う
自分のサーバに「Google Chartにデータ渡して結果を受け取りGIFに変換して画像を吐くCGI」として置くしかないな

667 名前:654 mailto:sage [2008/09/07(日) 18:36:53 ]
ありがとうございます。
なるほど、直接コンバートできるような手立ては無いということですね。
では、画像吐き専門のcgiを作ることにします。
(PHPでやるかもです)

668 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:39:30 ]
>>665
楽してないでそれぐらい自分で実装したらどうよ?

669 名前:663 mailto:sage [2008/09/07(日) 18:52:47 ]
>>668
すみません。スキルがゴミなもので、解決策が自分だけの力では思い浮かばず、
一週間程悩んだ挙げ句に、こうして初心者スレで質問させていただいている次第です。

実装、というのはYAMLのパーサを実装ということでしょうか?
言語内DSL(もどき)を作って、YAMLを使わない方法に逃げることは一応考えているのですが……。

670 名前:デフォルトの名無しさん [2008/09/07(日) 18:56:36 ]
いつも「おっきいチンチン」のこと想像しながらWebしてます!



671 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 19:11:23 ]
YAMLをあきらめてJSONを使う。

672 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 19:20:17 ]
YAMLで作ったデータをどこに持ってくのかにもよるな

673 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 19:25:19 ]
>>665
Ya2YAMLのソースコード読んでみたが、Syckに依存してるらしきところはないよ
だからSyckかJvYAMLかは関係ないはず

674 名前:663 mailto:sage [2008/09/07(日) 20:16:56 ]
>>664 >>673
う、すみません。Ya2YAMLをちょっと勘違いしていました。
ちゃんとソース読んできます。どうもありがとうございます。

675 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 20:30:49 ]
ゴミなんでしょ?もう来るな。

676 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 00:13:21 ]
コテつけろよ

677 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 15:11:49 ]
デンターシステマのかためより、やらかめの方がいいですよ。
どうせ堅めを使っても歯ぐきから血が出るだけなんで。

678 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 17:27:16 ]
歯ぐき弱すぎじゃね・・・?
個人差は有るだろうけど、
いっぺん歯科で相談してみたほうがいい。

679 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 17:42:29 ]
普通は1から10まで足して55になるんですが、逆に10から9,8と足していく文はどうなるんでしょうか。



680 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:03:12 ]
やっぱり55になります



681 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:23:32 ]
逆から足して同じ結果にならないなら大発見かもしれん

682 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:25:57 ]
BEとLEで結果が違います

683 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:30:58 ]
>>681
多項式級数式ではそういうことがよく起こりますが…もしかして無能?

684 名前:デフォルトの名無しさん [2008/09/08(月) 18:46:45 ]
どっちが頭いいかをふっかけてくる奴がいっちゃん無能


685 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:57:42 ]
無能はすぐage進行にしたがるww

686 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:58:12 ]
>>679
よくわからんけど、こんなのかな。

i = 10
sum = 0
while i > 0
 sum += i
 i -= 1
end


i = 0
sum = 0
while (i += 1) <= 10
 j = 10 - i
 sum += j
end


sum = 0
(1..10).to_a.reverse.each {|i| sum += i }


687 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:01:41 ]
downto

688 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:05:54 ]
ruby1.8.7きめぇえええええ
[*(1..10)].reverse.inject(0,&:+) # => 55

689 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:15:31 ]
&:+って何?

690 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:19:51 ]
みなさん、ありがとうございます。
ちゃんと55になりました。
逆走もあったんですか…



691 名前:デフォルトの名無しさん [2008/09/08(月) 19:21:59 ]
>>688
これは可読性以前の数学パズルの世界じゃないの?
rubyのキモさは、Cのポインタをほうふつさせるキモキモだなw

692 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:25:02 ]
委譲の英訳ってtransferでいいの?
辞書だとそうなってるけどプログラミングでもそうなん?

693 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:27:54 ]
>>692
オブジェクト指向における委譲はdelegation

694 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:31:54 ]
サンクス
delegateってメソッドポインタの事かと思ってたけど
委譲の意味でも使うのか。

695 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 21:19:05 ]
>>694
C#のやつのことなら、delegateをそういう機能に使うキーワードにしたって
だけで、突き詰めた意味は結局委譲。



696 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 21:28:31 ]
めそっどぽいんたってなんじゃらほ

697 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 21:37:20 ]
(1..10).reverse_each.inject(:+)

698 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 22:00:35 ]
>>696
C#を調べろ、としか言いようがない。
要するに関数ポインタのC#版。

699 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 22:08:03 ]
>>696
特定のインスタンスの特定のメソッド(GUI部品とか)を呼び出すためのポインタ
特定のクラスのオブジェクトにメソッド実行を依頼すると考えれば根っこは同じ

という説明はどうだろう

700 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 22:18:00 ]
わっかりやすいのう



701 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 02:18:37 ]
質問です

関数オブジェクトと普通の関数を呼び出すときのコストってどちらも同じですか?

702 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 02:41:11 ]

・Rubyには厳密な関数はない
・Rubyには関数オブジェクトもないっていうかまあこのへんは別にいいや

てことで、普通のメソッド定義とProc(lambda)オブジェクトの比較と読み替える

  Procの呼び出しコストの重さは異常

以上

使うと面倒な概念をとても簡潔に表現できるけど、多用すると明らかに遅くなるので注意
便利なのでほいほい作る傾向にあるが、何度も使う部分に組み込む場合は、できれば丁寧に分析してメソッドにしたほうがいい

703 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 06:12:15 ]
Rubyってメソッドもオブジェクトなの・・・?

704 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 06:44:11 ]
>>703
オブジェクト化することもできる

705 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 07:23:00 ]
そんなことしたマンコは臭うけどな

706 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 08:30:13 ]
javascriptバカにすんな

707 名前:デフォルトの名無しさん [2008/09/09(火) 08:32:52 ]
臭いのは勘弁して・・・

708 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 09:08:56 ]
javascriptはコンソールから起動して使える実装がないじゃん。ここ、バカ丸出しww

709 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 09:09:38 ]
毎日が夏休み

710 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 09:17:50 ]
>>703
ブロックつきメソッドの {|x| ...} 部分を「持ち歩ける」と考えてもらうと間違いない



711 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 09:24:09 ]
>>708
>javascriptはコンソールから起動して使える実装がないじゃん。ここ、バカ丸出しww

spidermonkeyもrhinoもコンソールから起動できるじゃん。
バカ丸出しはおまえwww

712 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 09:38:26 ]
javascriptは組み込み向けの設計ってこと忘れてるおまえは、バカ丸出しww

713 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 11:25:13 ]
話題のv8のshellが普通にいい感じですよ

714 名前:デフォルトの名無しさん [2008/09/09(火) 11:33:16 ]
個人の著作を売り物にするようなところだしmixiと同じだな。
そのうち違う波が来て潰されるんだろうな…

715 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 11:40:34 ]
>>702
そうなんですか。
昨日からruby勉強し始めて、全部関数オブジェクトにしたら一貫性あるかな?
とか思っていたんですが、重いなら仕方ないですね。。

716 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 11:45:08 ]
全部ラムダ式にすればいいと言うわけですね

717 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 12:07:13 ]
質問です。

配列のmap関数で適用する手続きの代わりに関数オブジェクトを使うことはできませんか?

718 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 12:18:26 ]
関数オブジェクトって何ですか?

Procオブジェクトですか、ブロックですか?

719 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 12:23:08 ]
たとえば、
hoge = lambda{|x| x+1}
このhogeという値にバインドした関数オブジェクトをmapで使うことはできませんか?

720 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 12:26:52 ]
(1..10).map &hoge




721 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 12:32:47 ]
>>720
おお、すばらしいです

では、次の質問ですが、
関数オブジェクト同士で関数合成ってどうやるんですか?

722 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 12:37:10 ]
procとlambdaで作ったオブジェクトってイマイチ分からないのですが、簡単に言えば何が違うんですか?

723 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 12:46:54 ]
ttp://www.hinet.mydns.jp/tdiary/?date=20080220

724 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 12:49:57 ]
>>721
例えばこんなのがある
Function Composition 2.0 Ruby Banter #006
media.fngtps.com/rubybanter/2007/006/

725 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 13:04:29 ]
>>721 >>722
そのオブジェクトは Proc オブジェクト
違いはこのへんに ttp://doc.loveruby.net/refm/api/view/method/Kernel/m/lambda

726 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 13:10:13 ]
「関数オブジェクト」なんてないということをとりあえず前提として話してくれ。
なんで執拗に「関数オブジェクト」と言い続けるんだ?

727 名前:717=721 mailto:sage [2008/09/09(火) 13:10:26 ]
>>721>>722は別人です

728 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 13:12:54 ]
func do |x| p x end
func { |x| p x }

の違いでしたか・・・

729 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 14:22:21 ]
質問です

ある変数の型が何なのか調べる方法はありますか?

730 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 14:37:19 ]
質問です。
hoge = Array.new(10){|i| i}.map{|x| x+1}

hoge = Array.new(10){|i| i}.map!{|x| x+1}
ではリソースの使い方に違いがありますか??



731 名前:デフォルトの名無しさん [2008/09/09(火) 14:41:59 ]
 

732 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 14:44:20 ]
>>729
Rubyの変数には型はありません

733 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 14:47:11 ]
>>732
では、たとえば配列の要素をすべて足す関数を作って、
整数と文字が入り交じった配列を渡してしまった場合はどうなるんですか?

734 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 14:48:14 ]
配列の要素の型に応じて違う処理をさせる方法はありませんか?

735 名前:デフォルトの名無しさん [2008/09/09(火) 14:48:49 ]
精子はやっぱり飲んじゃった方がいいかな?

736 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 14:52:28 ]
>>732
型が無いというのも誤解を生む表現だと思うのですが、
ではどのオブジェクトのインスタンスなのか調べる方法は無いんでしょうか?

737 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 14:53:56 ]
>>730
メモリとかを気にするのに Array.new に引数をつけてる人は久しぶりに見た
nil が 10個生成されて直後に置き換えられるから最初のArray.newが一番無駄なんじゃね

で、map と map! の差だけで、見たままの動作で、見たままのメモリ消費だと思われる
配列要素が 1万個とかバカみたいに多いときは後者のほうが一瞬だけ若干得
ただ、後者のような書き方はあまりしないかな

738 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 14:54:09 ]
どのクラスのインスタンスなのか、でした。

739 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 14:56:26 ]
>>736
型はない
a = 10 したあとに a = 'str' としても動作する以上、変数に型は無いと言って差し支えない

で、オブジェクトがどのクラスに属しているかはclassメソッドを使うとわかる

740 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 14:56:36 ]
>>730
前者は配列が2個作られる。後者は1個だけ。課題か何かか?

>>733
足せないものを足そうとした時にエラー

>>734
kind_of? で仕分ける



741 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:00:56 ]
Rubyの変数は本気でただのラベルだからな
他の言語では変数はいわゆる箱のようなメタファで説明できて、箱には形が決まってたりするもんだが

>>734
動作一緒だが、kind_of? ではなく is_a? を勧めたほうがよいと思う

742 名前:230 mailto:sage [2008/09/09(火) 15:07:39 ]
>>740
課題ではありません。
昨日からruby勉強中なんですよ。
夏休みだけど暇なんで。

743 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:08:01 ]
このスレの住人は糞ばかりだし、飲んじゃった方がいいよw

744 名前:230 mailto:sage [2008/09/09(火) 15:10:45 ]
>>737
最適化してはくれないんですね。

745 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:11:17 ]
>>733
要素が順番に問題なく + メソッドに渡される

不適なオブジェクトが + メソッド内(で使ってる他のメソッド)でチェックされているなら、
TypeError か何か決められた例外が発生してそこで処理が止まる

ある意味めんどくさいとも言えるな
だから、「要素に数値だけが入っていることを配列登録時にチェックするArrayクラス」のようなものを作ったりする

746 名前:230 mailto:sage [2008/09/09(火) 15:13:53 ]
>>745
なるほど。
静的型付け言語に慣れているせいで、ちょっとその辺はぎこちなくなります。

747 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:14:33 ]
>>744
「どうせ直後で数値が全要素に代入されるんだから最初に nil 入れるのやめようぜ、
あ、ちょっと待って、map が続いてるからそれもまとめて 1回で処理しよう」
という判断は Ruby はしない

というか無茶言うな
そういうのはスクリプト作成者が事前に考えてくれ

748 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:16:32 ]
nilの実装はintの0x00だけど?

749 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:19:27 ]
>>747
遅延評価のHaskellなら朝飯前なんだがな

750 名前:デフォルトの名無しさん [2008/09/09(火) 15:20:40 ]
あのー横から失礼しますが、
rubyの有用なサンプル・スクリプトはどこかにないでしょうか?



751 名前:730 mailto:sage [2008/09/09(火) 15:22:01 ]
>>737
度々すみません。
たとえば1〜1000が順番に格納されている配列を生成するのに効率的な方法を教えてください

752 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:24:33 ]
>>751
(1..1000).to_a

753 名前:730 mailto:sage [2008/09/09(火) 15:25:58 ]
>>752
ありがとうございます

754 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:27:54 ]
>>748
んなこと言ったら文字列は全部ただのバイト列だぞ(1.8限定)

755 名前:デフォルトの名無しさん [2008/09/09(火) 15:28:26 ]
>nil が 10個生成されて直後に置き換えられるから最初のArray.newが一番無駄なんじゃね 

こういうのは、こいつの妄想じゃね?

756 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:31:24 ]
>rubyの有用なサンプル・スクリプトはどこかにないでしょうか?
どういうのを求めてるのかよく分からんが
「逆引き Ruby」でぐぐったら幸せなんじゃないかな

757 名前:デフォルトの名無しさん [2008/09/09(火) 15:37:25 ]
そういう逆引きじゃなくて、文字を数えるwc伝統的プログラムが集まったサンプル集です。
"hello world\n"の延長みたいなものなんですが、どこにもないんでしょうか?

758 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:40:53 ]
>>757
意図はわかった
Rubyコミュニティとしては特にないので、個人で書かれた入門ページでも適当に探すといい
もとろん間違ってる可能性もあるが、初学者ならおそらく同じように間違うわけでそれはそれで意義があるだろう

というか、そういうのがきちんとまとまったページってのは他の言語でも稀なんじゃないかなー
あれば楽しそうな気もするけどね

759 名前:デフォルトの名無しさん [2008/09/09(火) 15:44:54 ]
あのー・・・・rubyは初めて触るんですけど、他の言語はバリバリ使いwwなんですが・・・・・・・・・

760 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:45:45 ]
>>750 サクれ



761 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:47:28 ]
昔は「○○コマンドのクローンを作ってみよう」というのは教材としてわかりやすかったんだけどね

今はCUIコマンド自体の使用頻度が少なくて
「wcってなんですか?」
「いったいどういうときに使うんですか?」
「コマンドまたはファイル名が違いますって表示されました」
という状態で

762 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:49:18 ]
>>741
> >>734
> 動作一緒だが、kind_of? ではなく is_a? を勧めたほうがよいと思う

Rationalきぼんぬ。ピッケル本のどこかに書いてあったっけ?(ふとそんな気がしないでもない)


763 名前:デフォルトの名無しさん [2008/09/09(火) 15:57:09 ]
一応K&Cとかさくっと読んじゃったんですけど・・・ないですか。
日本語だと公式サイトの説明も適当だし(文章を書くのが面倒なんでしょうけど)、それなら有用なサンプルがあると理解が深まるんじゃないのかなと…

764 名前:デフォルトの名無しさん [2008/09/09(火) 15:58:45 ]
ごっちゃになってたけど、CのK&Rでした。C言語教徒には失礼・・・

765 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:58:59 ]
K&C・・・ああ、ケンタッキーとチキンのことか。

766 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:01:32 ]
モルモン教教徒はすぐ我慢汁が出ちゃうのがなんともねぇw

767 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:07:45 ]
K&Rは難しすぎでさくっとなんか読めないよ。
あの超難しいといわれてる「ポインタ」を当然知ってるって前提だろうが。

768 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:16:59 ]
ポインタを超難しいと言っている人を久しぶりに見た。
ああ、教鞭を執らなくなって結構経つなぁ・・

769 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:19:13 ]
>>748
nilの実装はunsigned longの4だが?
環境によってはunsigned longじゃなくてもっと大きい型のこともあるが。

770 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:19:35 ]
K&Rを難しいと言っているぐらいだからHaskellの遅延評価やモナドなんか常軌を逸するだろうな。



771 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:20:26 ]
>>766
モルモン教とRubyにどんな関係があるんですか?
前々から気になっていましたが。

772 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:21:57 ]
大多数の大学生のような集団にとってきちんと理解しようとする場合「超難しいと言われてる」でいいと思う

773 名前:デフォルトの名無しさん [2008/09/09(火) 16:22:11 ]
>>770
というか、Cのポインタが難しくてLispに逃げたくせに偉そうにするなww

774 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:26:14 ]
にわかC使いがLL言語を叩くスレ

775 名前:730 mailto:sage [2008/09/09(火) 16:28:05 ]
$ time ruby -e 'test = Array.new(100000){|i| i}'

real 0m0.220s
user 0m0.120s
sys 0m0.100s
$ time ruby -e 'test = (0..100000).to_a'

real 0m0.130s
user 0m0.120s
sys 0m0.010s

本当ですね。

776 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:35:27 ]
>>775
それ、どういう処理なのか理解してないでしょ?笑えるんだけどw

777 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:36:26 ]
>>771
Ruby開発者がばりばりのモルモン教

778 名前:デフォルトの名無しさん [2008/09/09(火) 16:37:03 ]
まあ、どうあがいたってポインタは難しいからね・・・

779 名前:デフォルトの名無しさん [2008/09/09(火) 16:40:38 ]
>>770
先生はモルモン教さんですか?

780 名前:730 mailto:sage [2008/09/09(火) 16:40:58 ]
>>776
どういうメソッドが使われたかはプロファイラを使えばわかるみたいですね。

$ ruby -r profile -e 'test = (0..100000).to_a' % cumulative self self total
time seconds seconds calls ms/call ms/call name
100.00 0.08 0.08 1 80.00 80.00 Range#each
0.00 0.08 0.00 1 0.00 80.00 Enumerable.to_a
0.00 0.08 0.00 1 0.00 80.00 #toplevel
$ ruby -r profile -e 'test = Array.new(100000){|i| i}' % cumulative self self total
time seconds seconds calls ms/call ms/call name
100.00 1.15 1.15 1 1150.00 1150.00 Array#initialize
0.00 1.15 0.00 1 0.00 1150.00 Class#new
0.00 1.15 0.00 1 0.00 1150.00 #toplevel



781 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:47:27 ]
そういえば、さっきの妄想君は死んだのか?

782 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:50:15 ]
K&Rのサンプル集とか面白かったんで、これと似たようなサンプル(課題)を是非コミュニティーでやってください!お願いします!

783 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 16:50:38 ]
ブロック使う方は毎要素でyieldしてるからその差じゃね?

784 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 17:06:24 ]
>>782
Rubyのサンプルに限らず他言語でのサンプルをRubyで書いてみたらいいんじゃね

785 名前:730 mailto:sage [2008/09/09(火) 17:09:44 ]
大まかにrubyのことがわかってきたので自己テストのためにリバーシプログラム書いてみますね。

786 名前:デフォルトの名無しさん [2008/09/09(火) 17:14:10 ]
str=""

str << x
str .concat x

ま、好きな方を使え。どうせ行き詰まるんだろうけどw

787 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 17:29:07 ]
>>750
書籍 「Rubyレシピブック」 お勧め。

788 名前:デフォルトの名無しさん [2008/09/09(火) 17:55:56 ]
APIは熟読するぐらいに読まないと。

789 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 19:14:23 ]
コード書いてるそばから一発でriやrefe2xでドキュメントを閲覧したり
ソースコード上の定義やCによる実装に飛べるようなエディタの支援が無いとキツイな



790 名前:730 mailto:sage [2008/09/09(火) 20:43:52 ]
質問です

ある変数が取り得る値の範囲をあらかじめ定めることは可能でしょうか?
たとえば、代入時に0〜10までの値以外の値が代入されそうになったとき、
例外を発生させるようなメカニズムなど。



791 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 20:49:40 ]
まずは初心者向けサイトで勉強したらどうよ?

792 名前:デフォルトの名無しさん [2008/09/09(火) 20:56:53 ]
>>790
ある変数て…
Ruby の変数には型がないって、このスレの今日の部分にも書いてあるよね
とりあえず、入門書を読んでみなよ

793 名前:730 mailto:sage [2008/09/09(火) 21:04:08 ]
>>792
それは理解しましたが、
私が聞きたいのは型に関することではなく(実質は型のようなものでしょうが)、
ヒューマンエラーで誤って100などの数字を代入しないよう、
安全な代入操作を行いたいだけなんです。

ヒューマンエラーで誤って100などの数字を代入しないために。

794 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 21:06:56 ]
>>793
if文って知ってる?

795 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 21:08:48 ]
レヴェルの低いのがからんどるな

796 名前:デフォルトの名無しさん [2008/09/09(火) 21:10:03 ]
たぶんチンコがはえてないんだろw

797 名前:730 mailto:sage [2008/09/09(火) 21:10:37 ]
>>794
代入文を書く直前にif文を書かずに済む方法はありますか?

798 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 21:11:01 ]
>>790
オブジェクトという言葉を一度も使ってないことが気にかかる
Rubyはすべてのものがオブジェクトだ
変数と呼ばれるものは、該当するクラスをnew(とか)して作ったオブジェクト(インスタンス)に名前を付けたものに過ぎない
変数という入れ物は存在しない

オブジェクトというものについて勉強することを勧めるよ
これを大まかにでも理解しないままRubyの勉強を進めるとか遠回り過ぎて気が遠くなる

で、回答は
「オブジェクトに登録するときのメソッドをフックする、または専用の登録用メソッドを作成する」
というのが一般的だと思われる

799 名前:デフォルトの名無しさん [2008/09/09(火) 21:11:35 ]
はよ初心者サイト行け

800 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 21:11:58 ]
>>790
class C
def foo=(v)
raise if v < 0 || v > 10
@foo = v
end
def foo
@foo
end
end

o = C.new
o.foo = 11



801 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 21:12:43 ]
>>794
if文知ってるとチンコはえてきますか?

802 名前:730 mailto:sage [2008/09/09(火) 21:12:55 ]
>>798
ありがとうございます。


803 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 21:13:17 ]
>>790
ローカル変数やインスタンス変数に入る値(=代入されるオブジェクトの内容)を、自動的に制限する方法は
基本的には存在しない。テストで頑張るのが常道

ただし、アクセサメソッドを上書きすることで

obj.parameter = 100

といった代入の形に限り、何らかの制限を行うことはできる

804 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 21:14:50 ]
>>798 の毒され方が気になる

805 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 21:19:41 ]
>>804
確かに、かなりの重症患者だろうな…
ラムダ使いも、度がすぎると全く未知の方法を編み出すんだろう…

806 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 00:41:31 ]
>>790
言語レベルで規制はできない。
やりたかったら、不正な値ならraiseするんかな

807 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 00:54:41 ]
>>806
そのへんは一応>>798ではある、んだが

Rubyにおける「変数のイレモノ」の実体はそれの指すオブジェクトだからな
他の言語における「変数作成時に何かしたい」は「オブジェクト作成・操作時に何かする」だろう

というか、他の言語での変数ってデータのカタマリを指すラベルのようなものじゃないのか?

808 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 01:39:07 ]
>>790の言語経験がわかんないよね。
アセンブリとかCOBOLとかperlとかかね。

案外Pythonとかhaskellとかバリバリ使ってるのに
釣りに来ただけだったりw

809 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 07:08:07 ]
「変数には型がない。オブジェクトには型がある。」
といくら説明しても理解できない人にぶちあたると徒労感でいっぱいになる。



810 名前:デフォルトの名無しさん [2008/09/10(水) 07:09:54 ]
関数型言語使ってる人とは、これほどパラダイムが違うなんて思ってもみなかったは…



811 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 10:03:17 ]
>>809
そりゃその2つの間には関連性は希薄だからな
並べられて説明されるほど混乱するのはあたりまえだと思う

812 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 11:00:52 ]
オブジェクトについてのことを変数の文脈の「型」を絡めて説明するのは誤解招いてキケンだと思う…

813 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 12:46:47 ]
メタ議論は他所でやれ

814 名前:730 mailto:sage [2008/09/10(水) 12:57:05 ]
オブジェクト指向でプログラミングするとバグ取りが大変ですね。
久しぶりにこの感覚味わいました。

815 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 14:52:26 ]
Cだといくら難しくても構造体とポインタは避けて通れないからね…

816 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 15:03:12 ]
文法レベルで躓く男の人って・・・

817 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 15:40:58 ]
Perlだと、呼び出しの後に関数の定義があっても、きちんと認識してくれるのですが、

---------------------------------------------------
func();

sub func {
print "in func";
}
---------------------------------------------------

以下、Rubyだとエラーが出ます。

---------------------------------------------------
func #=>undefined local variable or method `func' for main:Object (NameError)

def func
print "in func"
end
---------------------------------------------------

エラーを出さないようにするには、関数を呼び出しの前に書くしかないのでしょうか?

818 名前:pl791.nas924.p-hokkaido.nttpc.ne.jp mailto:sage [2008/09/10(水) 16:30:23 ]
>>817
Rubyには関数はない
クラスやオブジェクトに関数があるということもない
メソッドのことを関数だと解説している本やサイトがあるなら晒せ

で、答はYES
クラスやメソッドの定義式の評価は実行時に行われる
実行時ということは1行目から順に実行されてるときということで、
つまり定義前のメソッドが書かれてた場合はエラーだ

まあぶっちゃけた話をするとすぐ慣れる
関数定義みたいに後ろに倉庫的にどっさりあったほうがすっきりするよねと思うことは今もあるが

819 名前:pl791.nas924.p-hokkaido.nttpc.ne.jp mailto:sage [2008/09/10(水) 16:31:19 ]
お、何だ何だ

820 名前:デフォルトの名無しさん [2008/09/10(水) 16:50:03 ]
長い説明よりスクリプトの方にしてちょ



821 名前:p3070-ipad304kobeminato.hyogo.ocn.ne.jp mailto:sage [2008/09/10(水) 17:02:55 ]
メソッドと関数の違いがわかりませんえん

822 名前:デフォルトの名無しさん [2008/09/10(水) 17:03:25 ]
>>818
そもそもオブジェクト指向というパラダイム自体不細工。
所詮は商業主義の世迷い事。
いかにも新しいことを考えましたよ、って言いたいがために新しい言葉を作っただけのこと。
本来はメソッドは関数と呼ぶべきだし、クラスも構造体と呼ぶべき。

823 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 17:33:18 ]
>>822 には触れないほうがいいよ

824 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 17:41:30 ]
>>818
サンクス
了解しました

825 名前:デフォルトの名無しさん [2008/09/10(水) 17:52:18 ]
>>823
型理論よりもちゃんとした理論体系が確立されているんですか?
間違いを通そうとして話をそらさないでくださいよ。

826 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 18:18:59 ]
オブジェクト指向の次って何があるの?

827 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 18:19:39 ]
>>825
そういう事は、それ系のスレかお前さんのブログでやってくれ。
Ruby のスレでオブジェクト指向のパラダイムを受け入れてるのは当たり前だろ。

828 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 18:25:16 ]
変数とオブジェクトの違いも曖昧な奴に、オブジェクト指向を語れるのか?
>>827と同じ意見だけど…

829 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 18:25:51 ]
しかしよく釣れるスレだなw

830 名前:デフォルトの名無しさん [2008/09/10(水) 18:26:42 ]
>>828
誰と混同してるんだ?



831 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 18:32:31 ]
>>826 エージェント指向とかアスペクト指向とか

832 名前:デフォルトの名無しさん [2008/09/10(水) 18:32:57 ]
なんだ厨房しかいないのかw

833 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 18:36:30 ]
>>826
遅延評価、monad、arrow、pi-calculus

834 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 18:39:01 ]
>>831
エイジェント指向ってのは一つのプログラムを作るための概念ではないよ。
もっとマクロな協調動作を目指したもの。
クラスタとかグリッドとかそっち方面の技術だよ。

835 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 18:40:20 ]
技術ではなくて概念 か。

836 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 19:16:46 ]
「能」という漢字を扱おうとすると必ず
unterminated string meets end of file
というエラーが出ます。どうしてでしょうか?

837 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 19:17:43 ]
ほかの漢字のときは大丈夫なんです。
「芸能」がダメで、「芸」はOKなんです。

838 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 19:27:56 ]
さあいますぐ



能\

それぞれをShift_JISで保存してバイナリエディタで開いてみるんだ

839 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 21:19:16 ]
>>837
偉大なるKENT様のご説明

文字化けについて
www.kent-web.com/pubc/jcode/index.html

840 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 21:47:26 ]
KENT様・・・



841 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 22:42:40 ]
>>801
うん。ひと晩で二、三本は生えてくるよ

842 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 22:43:37 ]
何で朝鮮人は嫌われてるんですか?

843 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 22:56:51 ]
>>842
汚くて臭いからさ

844 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 23:42:15 ]
>>831
アスペクト指向はオブジェクト指向の二番煎じ。
ITバブル時代に新しい言葉を作ってビジネス機会を作ろうと企んだが失敗に終わりそうな概念です。
ほかにもajaxとかWEB2.0とか、いろんな言葉が作られて消えていきましたが、
全部商業主義的な目的から作られた物です。
この業界をかき乱すのもそろそろやめてほしい。

845 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 23:44:57 ]
新しくも無いのにわざわざ特別な名前を与えていかにも新しくてすごそうに見えるように宣伝して儲ける手法。
全部誰かが裏で糸を引いているんじゃないかと思うほど手口が似ています。

846 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 00:10:05 ]
>>844
あんたが「本物のプログラマ」だという事はよく分かったから、
お菓子好きの集まるこのスレにはこないでくれ。

847 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 07:48:45 ]
>>844
ハスケルは学者ばかりですし、そっちではたくさん高級なメタ議論してますよ。

848 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 07:58:38 ]
だからさ,スレ違いだしもう触れるな,っての

849 名前:mx.narihara-lab.jp mailto:sage [2008/09/11(木) 08:38:43 ]
>>844
> アスペクト指向はオブジェクト指向の二番煎じ。

そうなの? 「MOP の二番煎じ」だとばかり思ってたんだが…


850 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 20:56:56 ]
Web2.0が商業用語ってどんだけ
商業にすらなってないわ



851 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 21:06:21 ]
>>850
今日のおまんこの締まり具合はどうですか?

852 名前:730 mailto:sage [2008/09/11(木) 21:08:49 ]
質問です

シンボルを宣言するとき:hogeのように記述しますが、
「:」というのはメソッドなのでしょうか?
「:」のようなメソッドを宣言する方法を教えてください。

853 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 21:27:10 ]
>>852
メソッドじゃない。

つーかいい加減マニュアル読めよ

854 名前:デフォルトの名無しさん [2008/09/11(木) 21:30:26 ]
RubyスクリプトがOut of memoryで終了してしまうんですが
どこでメモリ消費してるのか調べるプロファイリングツールみたいのはありますか?

855 名前:730 mailto:sage [2008/09/11(木) 21:33:41 ]
>>853
どこに書いてありますか?

856 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 21:40:14 ]
Stringを作るための ' や Array を作るための [ と ] がメソッドじゃないのと同じようなもんだな

857 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 21:41:57 ]
>>854
ruby -profile hoge.rb

ただし、これは死ぬほど重いので、rubygem の ruby-prof とかを使う

858 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 21:48:56 ]
>>855
www.ruby-lang.org/ja/man/html/_A5EAA5C6A5E9A5EB.html#a.a5.b7.a5.f3.a5.dc.a5.eb

859 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 21:49:09 ]
>>855
だから聞く前に読めよ

860 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 21:51:27 ]
Out of memory は RubyMagick でよく見たなあ



861 名前:730 mailto:sage [2008/09/11(木) 22:02:15 ]
>>858
ありがとうございます

862 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 23:41:24 ]
煽るような回答しかしてない人はわからないんですね、わかります。

863 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 08:40:45 ]
何を聞きたいのかイマイチ不明。






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

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

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