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


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

Ruby 初心者スレッド Part 35



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

★注意★ Ruby 1.9.1 は初心者にはまだ時期早尚です。初心者には Ruby 1.8.7 を強くお勧めします。
   (理由:現時点では有名ライブラリやアプリが 1.9.1 に完全には対応していないためです)
 1.8.7 でも 1.9 系に導入された新機能のいくつかが利用可能なため、1.8.7 を習得すれば将来スムーズに 1.9 系に移行できるでしょう。

関連スレやURLは>>2-5あたりを見てください。Ruby on Rails の質問は Webプログラミング板の 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を読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。

754 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 03:31:29 ]
Windows厨なんで開発環境といったら
・メモ帳
・TeraPad
・RDE
・Eclipse
ぐらいしかしらんなぁ
IronRubyに限るなら
・SharpDevelop
っていうのもありだな

個人的には、RDEが好きなんだが
バグが多いのと、開発が止まっているのが難点だな
IDEは、どっちかというと、オレのように頭の悪いやつ向けだな
オブジェクトがどこにあるとか、どこにどのメソッドがあるとか
解りやすくしてくれる。
ただし、設定が面倒で、動作がもっさりしてる。

そういうのが嫌いなら、TeraPadとかの高機能テキストエディタがいいね
何にも設定しなくても、それなりに見やすい。
動作も、さくさくしてる。
IDE使ってると見落としがちな、Rubyそのものの動作を体感できる。
初心者は逆にこっちのほうが良いかもね。
しばらく、メモ帳つかってメンドクセーって思うようになったら、IDEつかってみたら?

755 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 09:12:18 ]
>>748
chcp 65001するとまともに使えない@Vista

756 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 10:53:23 ]
そういうのが嫌いなら、TeraPadとかの高機能テキストエディタがいいね
                               ^^^^^^^^^^^^^^^^^^^

757 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 10:59:46 ]
>>756
ttp://www.vector.co.jp/vpack/filearea/win/writing/edit/terapad/

758 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 11:01:13 ]
メモ用紙で充分

759 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 11:03:56 ]
自由帳と脳内インタプリタでおk

760 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 11:25:58 ]
require するファイルがたくさんある場合 thread を使って並列に読み込むと
速くなりますか?
何か副作用はありませんか?

761 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 11:27:54 ]
>>760
速くならない

762 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 11:35:30 ]
結局I/Oでブロックされそうだな。



763 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 11:44:42 ]
インストール時に1枚のファイルにするようにするとかの気遣いが欲しいところ
require 'hoge' するとでっかいひとつ
require 'hoge/foo' だと個別

764 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 12:00:57 ]
>>761-763
ありがとうございます!
>>763
それは自分がライブラリを作って公開する場合の心得ってことですよね

765 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 12:50:22 ]
Rubyのスレッドの実装っていまどうなってるんだっけ

766 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 12:55:03 ]
>>765
実装の話題は本スレで

767 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 12:57:23 ]
じゃあ質問を変えるよ

requireに限らず、ボトルネック回避以外の目的にスレッドを使って高速化することはできる?

768 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 12:58:17 ]
>>767
できない
少なくとも1.8ではできない

769 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 13:00:38 ]
C++で作られているライブラリのバインディングを使っているのですが、
列挙型ってどうすればいいんですか?

>Ruby には言語の機能としての列挙型がない。
>ちょっと使いたいことがあって、いくつかのパターンで列挙型ぽく振舞うものを書いてみた。

こんな事を書いてる記事もあるわけですが、いちいちこんなに面倒くさい事をしないとダメなのかな

770 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 14:34:37 ]
p true and false #=> true
p true && false #=> false

なんで?
あれなんか凄い勘違いしてる?

771 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 14:44:51 ]
>>770
p (true and false)

772 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 14:46:36 ]
>>770
演算子の優先順位のせい

ttp://www.ruby-lang.org/ja/man/html/_B1E9BBBBBBD2BCB0.html#and

p true and false #=> (p true) and false
p true && false #=> p false



773 名前:デフォルトの名無しさん [2010/03/18(木) 14:48:24 ]
www.ruby-lang.org/ja/man/html/_B1E9BBBBBBD2BCB0.html#and

まず、左辺を評価して、結果が真であった場合には右辺も評価します。and は同じ働きをする優先順位の低い演算子です。
and を伴う式をメソッドの引数に渡す場合は二重に括弧が必要となります。

774 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 14:49:36 ]
かぶりすぎワロタ

775 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 14:54:56 ]
>>771-773
thx 把握した
そして and or が嫌いになった

condition = hoge and fuga

condition = (hoge and fuga)

condition = hoge && fuga
としなきゃいけないわけか

776 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 14:57:11 ]
ちなみにPerl5の同様の演算子を踏襲している。
式2つをえせ英語として読めるように書きたいときはand/or を使う感じ。
do(it) || raise;
do it or raise;



777 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 15:02:08 ]
そだな
ttp://perldoc.jp/docs/perl/5.6.1/perlop.pod

集合とかの AND や OR とかのように and や or を使うことはできない
記号優先なのが Perl っぽいといえば Perl っぽいといえなくもなく

778 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 15:02:43 ]
a == 0 and b < 0

779 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 15:05:47 ]
perl のは or die と書きたかったがためだけにこうしたような気がしてならない

780 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 15:56:10 ]
>>779
十中八九そうだと思う・・・


781 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 15:57:03 ]
Perl はどうかしらんが Ruby で foo or bar and baz は (foo or bar) and baz なので注意。
foo || bar && baz は foo || (bar && baz)

782 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:03:27 ]
RubyもPHPみたいにCGIとして動作させることができるの?




783 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:05:01 ]
もちろん

784 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:15:00 ]
Rubyというか
標準出力を吐けるものならなんでもCGIで使用可能
むしろCGIって名前自体がそういう意味なんだと思うけど
httpdでハンドラが適切に設定されている必要はある

785 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:29:01 ]
>>782
ただしすこし遅い
PHPやPerlより確実に遅い(mod_rubyでも素のPHPに勝てるか怪しい)
遅くてもいいようなまったり用途向け

786 名前:デフォルトの名無しさん [2010/03/18(木) 17:29:44 ]
Full Book Now Available For Free!
blog.rubybestpractices.com/posts/gregory/022-rbp-now-open.html

sandal.github.com/rbp-book/pdfs/rbp_1-0.pdf

787 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:31:38 ]
>>783-784
サンクス
それ出来るならちょうどよかった
PHP以外に何か軽くでも使えるように勉強しようと思ってたんだ





788 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:44:01 ]
Perlすらgeekしか知らないような頃、CでCGI書いてる会社の先輩が
いて、あきれるやら感心するやら。
# もちろんCで書くことが必要な状況ならそうすべきだけど。


789 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:53:38 ]
なぜあきれるやら関心するやらなのか解りかねる。

790 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:56:59 ]
感心ならともかく呆れるのは理解できない

791 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 18:00:13 ]
rubyでcgi書いててそこから呼ぶモジュールはがんがんCで書いてたなあ

792 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 19:17:07 ]
>>754
つvim



793 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 19:55:06 ]
つい先日もCでCGIを書く仕事があった。
非常にアホ臭いとは思ったが、呆れるとか感心するとかいうようなものでもないな。

794 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 20:04:24 ]
で?

795 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:02:39 ]

文字列:ABC=DEFG
パターン:ABC
文字列がABCから始まるかを調べる方法ありませんか?

796 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:04:32 ]
/\AABC/

797 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:06:41 ]
>>796
それで理解できる人はそういう質問はしないと思う

str = "ABC=DEF"
if /\AABC/ =~ str then
puts "ABCから始まっています"
else
puts "ABCから始まってません"
end


「正規表現」についての知識は必須なので、
使いやすい簡単なのだけは覚えておくといい

798 名前:795 mailto:sage [2010/03/19(金) 00:09:40 ]
>>797
これくらいの事なら、メソッドで準備されているかな?と思ったので

799 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:11:05 ]
こういうのも。

s = 'ABC=DEF'
s.start_with?('ABC') #=> true


800 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:12:36 ]
正規表現で簡単にできる「これくらいの事」をすべて
メソッドで装備していたらかなり煩雑だと思う

801 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:13:45 ]
>>800
そこから先は本スレでどうぞ

802 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:14:31 ]
ruby -e 'p String.instance_methods - Object.instance_methods'
とかやって、それっぽい名前のメソッドがないか探してみるのもよい。




803 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:16:35 ]
>>799はRuby1.8.7以降とRuby1.9.1以降限定
初心者的に大きな問題はないとは思うが

>>800
String#include?さんなめんあ

804 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:19:18 ]
start_with? なのか
starts_with? 派との間で血みどろの抗争が繰り広げられたに違いない

805 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:21:37 ]
>>804
ruby的には、is_a? 以外は原形不定詞を使うとかいう約束だったと思う。
三単現派は ActiveSupport を使えば starts_with? を定義してくれる。


806 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:25:24 ]
JavaはstartsWith, endsWithなんだな

>>805
なるほど
この場合主語が単数なのはほぼ異論無いとして、一人称なのか二人称なのか三人称なのか。
意外と深い?のでその原則は結構ナイスかも。
って日本人ユーザからすると面倒なだけとか。

807 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:27:07 ]
>>804
1.9から降りてきて1.8.7からだよなという確信が持てなくて検索したとき
最初は starts_with? でやったことは秘密だ
ttp://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-talk/216680?216576-217484

808 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:33:55 ]
is_a? との類推で三単現にしてしまうんだよなあ
まったく is_a? は鬼っ子だ

初心者の皆さんにおかれましては is_a? は表記的に時代遅れなので kind_of? 使ってくださいね

809 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:36:36 ]
>808
is_a? と kind_of? は意味が違うことをわかってんの?

810 名前:804 mailto:sage [2010/03/19(金) 00:39:03 ]
>>805
興味深いマジレスありがとう
原型不定詞ってなんだっけってなったのは内緒

811 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:42:42 ]
>>809
横からだけど、kwsk

古いのと一応最新ぽいのでも同じ扱い(てか丸移し)だけど、違うの?
ttp://www.ruby-lang.org/ja/man/html/Object.html#is_a.3f
ttp://doc.okkez.net/static/191/method/Object/i/kind_of=3f.html

812 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:47:43 ]
>>809
あまり is-a と kind-of を区別してるとは思えないし、そもそも実装上区別してねえ
んなこと言うなら is_a? から kind_of? と instance_of? の機能を、kind_of? から instance_of? の機能外せ



813 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 00:48:17 ]
instance_of? と混ざったかな?


814 名前:804 mailto:sage [2010/03/19(金) 00:49:18 ]
>>807
d。読んできた

他の名前との一貫性からstart_withになったけど
Pythonに敬意を表してstarts_withにするのしないのって話もあったのかw

815 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 01:42:41 ]
File.exist?
File.exists?
みたいに両方あるのもあるよね。

816 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 01:46:21 ]
ポリシーのまったく無かった時代の古いメソッドだな
まあ今もポリシーとか薄いけど

817 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 01:59:49 ]
だからRubyは汚いんだよ。
Pythonの美しさをみ・・Pythonも似たようなもんか。

818 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 02:04:58 ]
メソッド(に相当するもの)の名前のつけ方は似たようなもんだな
どこも決定打に欠ける
永遠の問題なのかもしれない

819 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 06:22:30 ]
rubyはCASを目指しているのですか?

820 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 06:39:55 ]
カス

821 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 07:20:02 ]
そろそろrubyの次の言語で再出発する季節だな。
今度はguiとideとrails標準で。

822 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 08:16:52 ]
こうして >>821 は旅立って行ったのであった。

ー完ー



823 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 10:52:45 ]
アップキャストとダウンキャストがないから不便だ

824 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 11:02:38 ]
e-

825 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:03:05 ]
wxRubyをいじってみたくて導入しようとしたら
cygwin用が用意されてなくてコンパイルもそのままじゃ出来なかった
↓みたいに_rb_〜〜が見つからないって大量に言われるんだけど
Rubyのソースとか必要なのか?どっかのパス指定ができてないだけなのか?

/home/hoge/wxruby-2.0.1/src/Icon.cpp:1410: undefined reference to `_rb_define_class_under'

/usr/lib/ruby/1.8/i386-cygwin/ruby.h:697: undefined reference to `_rb_cFixnum'

色々いじってコンパイルしてみてるけど諦めてRuby自体mswinにするか・・・

826 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:10:31 ]
Makefile とか configure 読めないのに cygwin 使おうとする男の人って…

827 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:16:42 ]
なんかインストールだけでなく運用自体が茨の道のようにも見える
mswin32でやったほうがよさそうなふいんき

828 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:23:04 ]
>>826
そりゃここでこちょこちょ勧める人がいるからだろ
ぶっちゃけ初心者にはcolinux+Debianとか勧めておけばいいのに

cygwinはwin,*nix両方知らなきゃいけないから難しいよ

829 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:23:31 ]
>>825
こういうひとってなんでRubyやめようと思わないのかな

830 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:25:06 ]
はじめに Ruby ありきなんだよな
目的と手段を取り違えるタイプ

831 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:26:35 ]
>>828
俺は勧めてないしテンプレにも一文字もないぞ

>>830
Rubyで遊んでみるのが目的なのに他の手段でウィンドウ作ってどうする

832 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:51:22 ]
色々勉強足らずのようなので精進します
Rubyありきなのはどうしようもないですがcygwinありきだった点を直そう
おとなしくmswin32でいじることにします



833 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:52:10 ]
「Rubyの初心者」のスレなのに
「プログラムの初心者」と決めつけて・勘違いして回答してるのが何人かいるな

834 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 13:55:21 ]
>>833
「OS操作や他言語プログラミング等にある程度造詣があってRubyに挑戦しようとしてる人」
の質問はそれなりに洗練されている

そういうような質問にはそれなりの回答が返ることが多い

プログラミング経験者なのにPC初心者向けな回答をされたという場合は
そりゃ質問の書き方がまずいのだろ

835 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:14:38 ]
>>829
なんでRubyやめようと思うと思うの?

836 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:32:24 ]
なんでRubyやめようと思うと思わないの?

837 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:42:45 ]
思わないことに理由を求められても

838 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:53:56 ]
>>837
このひとはなにもかんがえてません
ずっといます

839 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 15:04:33 ]
いったい誰と戦っているんだ

840 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 15:07:15 ]
中高生の春休みにはまだちょっと早いと思うんだが、
ここ数日どのスレもなんか雰囲気違うな

841 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 15:13:29 ]
もっと簡単に使えるrubyみたいな言語が有ればいいのにね。
visual rubyとかmsが用意すればいいのに。

842 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 15:14:59 ]
諦めきれずにやってたらインストールできた
単純に-lrubyが足りなかっただけでした
やっぱり次につまずくまでcygwinで行こうと思います



843 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 20:39:12 ]
>>841
簡単に使えるってどういう意味よ。

844 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:09:24 ]
るび厨って未だにema糞だから言語、エディタ、デバッガ、ライブラリ、ドキュメントが
高度に統一された環境がどれほど快適であるか理解できないんだろうね。

845 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:11:15 ]
Rubyを使ってない人がなんでこのスレにいるの?

846 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:30:11 ]
かまってくれるからだろう

847 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:59:43 ]
1.9 への覚悟を決めた
さっき 1.8.7 を入れた






[ 新着レスの取得/表示 (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