1 名前:730 [2008/09/15(月) 17:25: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/10/13(月) 06:31:29 ] おれはテストを書く気が全く起こらないんだよなあ… 少しづつでも書けばいいんだろうけど つまらないから全く続かない…
553 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 07:56:06 ] どう考えても テストを書くのに悩む時間 >> 変なバグで悩む時間 なのでテストを書く理由がない俺 他人様に提供するライブラリ書くんじゃない限り要らないもんだと割り切ってる 書き方指南がないということは本当はみんな不要だと思ってる証拠
554 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 08:32:04 ] >>553 書き方指南いろいろあるじゃん 本にもwebページにも 俺も有用であるという自信はないが
555 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 08:43:49 ] テスト書くためのスクリプトでテスト書く説明するだけだしなあ お前そんなスクリプトなんて普段絶対書かないだろ、というのが多々…(特にテスト駆動)
556 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 08:54:11 ] スクリプト序盤から中盤での書き方がよくわからないのがテスト駆動の特徴 というかMockとかあのへんを理解しないと関数的スクリプトのテストしかできん
557 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 09:23:47 ] 色々書き方の作法もあるけど、むしろ形式に捕らわれず自由にテスト書くようにしたら それはそれで楽める部分もあると思う。
558 名前:デフォルトの名無しさん [2008/10/13(月) 09:42:39 ] 俺はテスト書かなくて困るのってリリース後なんだよなぁ。 デグレ出るたびに書いときゃよかったって思う。
559 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 10:07:10 ] ちゃんとテストが書けるようになったら、もう上級者だよ。 つまり上級者になるためには、テストがきちんと書けるようにならないといけない。 おれはまだうまく書けないんだけどな。 UIのテストなんか、どうしたらいいのかさっぱりだ。
560 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 10:36:29 ] 他人様のライブラリのgitのtestディレクトリとか眺めてるとよくわかる 本文コードの追加変更に対してテストが異常に適当というか不足 時間かけてまでして作りたくないかどうすれば網羅するか考えるの面倒なんだろうな
561 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 14:01:54 ] テストなしでロジック修正とかコードの整理(リファクタリング)とか、 怖くてできない体になった。
562 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 15:01:22 ] ZenTest試用中。なかなか良さげ。 ttp://mono.kmc.gr.jp/~yhara/w/?ZenTestMemo ttp://zentest.rubyforge.org/ZenTest/files/README_txt.html gem install ZenTest でインストール。
563 名前:デフォルトの名無しさん [2008/10/13(月) 17:14:28 ] >>561 わかります
564 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 17:30:17 ] テスト書くとメソッド単位でしか検証できないからめんどくさい あと、GUIアプリのTestってどうやるの?
565 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 17:35:59 ] できない
566 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 17:55:46 ] 入力の自動化をすれば出来る。 が、チェック項目をリストにして人力でやったほうがなんぼかマシ。
567 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 18:30:55 ] RubyでGUIつーと、テスト以前に環境が貧弱だからのう。 WebならSeleniumとか。
568 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 18:32:59 ] >>564 自動でマウス動かしてクリックしたりフォーム埋めたりするよプログラムを併用する 稀にどうしても自動化できないところが出てくることがあり、そういうときは漏れのない操作一覧図を書いて手動
569 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 18:58:10 ] >>564 ビューとコントローラを極力分離すれば、ある程度までは機械的にテストできる
570 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:02:19 ] GUI自体をテストしたい場合は?
571 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:15:36 ] GUI自体のテストって具体的にどんなの?
572 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:52:47 ] マウスクリックのタイミングとか
573 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 02:10:57 ] サブネットマスクにマッチするような判定って簡単に出来ますか? 例えば、 "192.168.0.45".in_mask?("192.168.0.0/24") # => true "192.168.0.45".in_mask?("192.168.0.0/29") # => false となってほしいのです。
574 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 02:15:25 ] 本質的にサブネットマスクはbitmaskだから ANDしてやればいい
575 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 03:03:18 ] >>573 IPAddr#include?
576 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 07:48:35 ] rubyはじめたばかりのものです。 Windowsにて、ワンクリックインストーラでrubyをインストールし、 RMagick(とImageMagick)をインストールしました。 サンプルプログラムを走らせようとすると(ruby sample.rb)、以下のようなエラーメッセージが出ました。 ./RMagick.rb:2: uninitialized constant Magick (NameError) from D:/Programs/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:in `gem_original_require' from D:/Programs/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:in `require' from rmagick.rb:1 ファイルの内容は以下です。 require 'RMagick' include Magick img1 = ImageList.new("d:/a.bmp") img2 = img1.blur_image(0,2) img2.write("sample01.bmp") exit 色々と試した結果、上記ファイルがあるディレクトリ(D:\rubyとする)をカレントディレクトリとして、 cmd.exeからruby sample.rbとすると上記のエラーが発生しますが、カレントディレクトリがd:\の 場合は正常に実行されました。どうもカレントディレクトリに*.rbなファイルがあると失敗するようです。 irbでも同様の結果でした。 これを回避する方法はないものでしょうか?
577 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 09:35:18 ] そろそろ解決してる頃だろうか >>576 require 'hoge' は カレントディレクトリの hoge.rb ファイルを読み込む rmagick.rb (大文字小文字問わず)という自作ファイルを改名しろ 「hoge ライブラリを試そうとして hoge.rb を作って実行し、次にまた別のスクリプトを作って変なエラーにはまる」というのは そろそろ FAQ にしてもいいと思う
578 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 09:46:44 ] >>577 ああ、まさにそれでした。 5時間くらい悩んでの書き込みだったので、今はRMagickのマニュアルを読んでました。 有難うございました。
579 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 20:24:43 ] 文字列中のすべての"\"を"\\"に、"'"を"\'"に置きかえたいときに gsubってものすごくつかいづらいんですけど、 なんか他にいい方法はありませんか?
580 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 21:00:31 ] str.gsub(/['\\]/){|s|"\\#{s}"} 十分簡潔に思うが、どの辺が使いづらく感じた?
581 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 21:19:06 ] str.gsub(/['"]/) { %Q|¥¥#{$&}| } あたりで手を打たないか?
582 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 21:19:40 ] 遅すぎたリロード
583 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 21:42:38 ] ブロック使わずに表現できないの?
584 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 21:45:41 ] str.gsub(/([\\'])/, "\\\\\\1") ・・・うん、ブロックのほうがいい。 >>579-580 後方参照使わずにgsub繰り返すっていう力押しをしてた人が ハマるパターンだろうね。
585 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:04:09 ] >>580 なるほど、ブロックを使えばいいんですね。 >十分簡潔に思うが、どの辺が使いづらく感じた? perl なら、 s/([\\'])/\\\1/; と、比較的直感的なところを >>584 のように"\\\\\\1"と書くとバックスラッシュが多くなりすぎて 後で読みにくいと思ったわけです。
586 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:06:36 ] おっと、 s/([\\'])/\\\1/g; でした。
587 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 23:56:30 ] str.gsub(/[\\']/, /\\\&/.source)
588 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 00:44:09 ] Windows限定でいいんですけど、OSが32ビット版か64ビット版か調べる方法はあるでしょうか。 ENV["OS"]だと32bit版XPでも64bit版XPでも"Windows_NT"と表示されて区別が付きません。
589 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 00:51:21 ] Ruby関係ねえええ ENV['PROCESSOR_ARCHITECTURE'].include?('64') が true なら 64BitなCPUなのできっと 64Bit版Windows ttp://support.microsoft.com/kb/827218/
590 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 01:06:42 ] じゃあruby関係で ruby -e 'p RUBY_PLATFORM' 64bit環境を持ってないのでどんな出力がされるのかは知らんけど
591 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 01:10:11 ] RUBY_PLATFORMはコンパイル時に決まりそう
592 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 01:15:50 ] Fixnumを地道にカウントアップしていってBignumになる境界を見つける -> そこから推定 とかそういうアホを思いついた
593 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 01:21:56 ] 64bitのOSで32bitのバイナリ使ってたら無理じゃないか
594 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 02:22:11 ] WIN32 API の GetSystemInfo() とか呼んだら良さそうな気がする。 呼び方はあれ、dl 使うなり何なり工夫してくれと。
595 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 03:01:15 ] Ruby の Web アプリケーションによくでてくる、 class CGI def valid?( param, idx = 0 ) self.params[param] and self.params[param][idx] and self.params[param][idx].length > 0 end end というコードの著作権者、またはライセンスってわかりますか? GPL だとしてもソースを配布する際には著作権表示が必要ですよね。 tDiary や hiki にも登場していますが、特別そういう表示がないので 勝手に使っても差し支えないんでしょうか?
596 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 03:12:41 ] その程度の誰が書いても同じになるコードには 著作権が発生するほどの創作性はないよ。
597 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 06:11:16 ] 適当に書き換えればおk if self.params[param] if self.params[param][idx] if not self.params[param][idx].size.zero? return true end end end return false
598 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 06:42:47 ] >>588 64bit の Windows で試していないから動いたらラッキーぐらいで require 'Win32API' GetCurrentProcess = Win32API.new('kernel32', 'GetCurrentProcess', 'v', 'i') hProcess = GetCurrentProcess.call() isWow64Process = "\0" * 4 is64BitWindows = false begin IsWow64Process = Win32API.new('Kernel32', 'IsWow64Process', ['p', 'p'], 'i') IsWow64Process.call(hProcess, isWow64Process) is64bitOS = true unless isWow64Process == "\0" * 4 rescue RuntimeError end p is64BitWindows
599 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 07:08:01 ] CamelCaseキモすぎる
600 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 08:10:27 ] PascalCaseだね
601 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 08:20:52 ] LCCだろ さりとて、Windows の API にはハイフン区切りは似合わないのも事実
602 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 08:25:44 ] CamelCaseは力強さを感じる
603 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 12:36:20 ] MSは先頭大文字のCamelCase好きだよね クラス名でもないのに何故?と違和感を感じる
604 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 14:33:09 ] クラス名は許せるが、rubyでは_区切りとisPredicateではなくpredicate?を使ってほしい
605 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 15:06:15 ] >>604 >isPredicateではなくpredicate? 変数に?使えたっけ
606 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 15:17:48 ] 使えないよ。 けどpredicateってことは多分604はメソッド名のつもりで言ったんだと思う
607 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 17:14:47 ] 何気に attr_reader :hoge? って書けないんだよな
608 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 20:37:53 ] @hoge? がだめだからなぁ。 Module#attr_readerが再定義されていればその限りじゃないぜ 意義はないけど。
609 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 20:39:11 ] ?付きメソッドを定義したくなるのはよくあることなのに、attrで定義できないのがな・・・ 自分でattr_readerを拡張するか、rubyplusのboolattr使うと便利 つーかActiveSupport辺りにも入ってそうな気がする
610 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 21:32:47 ] ?付きメソッドを自分で定義すれば済むだけなので、漏れは必要ないかなあ。
611 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 21:48:34 ] >>610 メソッドごとに一つ一つ?付きを定義していくのって凄く面倒じゃね? 変更に弱くなるし
612 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 21:59:26 ] ?末尾のシンボルを渡されたら、メソッド名はそのままに 末尾削った変数にアクセスするっていうのも便利かもしらんね でも真偽値のアクセサが面倒になるほど多いっていうのも 設計見直せる可能性はない?
613 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 22:29:30 ] class Hoge def self.def_predicate(name) attr_accessor name private name private "#{name}=" define_method("#{name}?"){ __send__(name) } public "#{name}?" end def_predicate :hoge end こんなんとか。リフレクションを用いるほど多く使うんじゃなければ ちゃんと書いたほうがいいと思うけど
614 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 22:40:14 ] >>611 >>612 の言うように?付きメソッドをそんなに定義することあるかな?
615 名前:611 mailto:sage [2008/10/15(水) 22:43:31 ] >>612 >>614 4〜5つ程度の?付きメソッドでも、似たような定義を続けて書くことになるからかなり面倒だと俺は思う この辺は個人の意見もあるとは思うが
616 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 22:51:08 ] attr はあまり使わない メソッドはきちんと定義する
617 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 23:34:27 ] そもそも @hoge? ができないことに疑問を感じるんだが
618 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 23:45:48 ] だから ? つきはメソッドだっつーの述語だっつーの data= っていう変数が作れないのは不自然か? change! っていう変数が作れないのは不自然か?
619 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 23:56:18 ] @is_foo みたいな変数名をどれだけ見かけることか 変数名が述語になれないのはおかしい
620 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:08:25 ] @hoge? = 123 まず見た目がきもい そして三項演算子の文法と衝突しそう
621 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:08:33 ] 変数名が述語になるほうがおかしい飢餓す
622 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:12:41 ] @foop か @foo_p でいい
623 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:14:27 ] 「○○が二者択一のどちらかか、を格納する変数」というのはあまり Ruby っぽくない 二者択一の判断自体をメソッドで参照するのがフツーな気がする
624 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:32:23 ] >>620 そんなこと言ったらメソッド foo? がどんなオブジェクトも返すことのできる点もおかしくないかい?
625 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:36:58 ] 見た目がきもい、ってのはほんとに見たまんま、?で終わる識別子が左辺値にくるのが きもいってことだよ。 別に @hoge? = true ならいいってことじゃない
626 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:41:29 ] >>621 変数名とメソッド名の間で、言葉づかいの上でのセマンティックスが違っている「べき」なら、attr 系は廃止すべきってことになるな >>625 @hoge? = true なら悪くないと思うけど
627 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:46:06 ] やだよ。 メソッド名の慣習のせいで、「hogeっすか?」って訊いてるようなイメージがあるじゃん。>@hoge? で、「そうっすよ」とか「違いますよ」とか返事しようとしてるところに値突っ込むってのは変な感じだ。観念的な言い方でアレだが
628 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:50:34 ] 何も @hoge? があってもそう書かなきゃいけないわけじゃないから、? を使わない自由を奪っているわけではないでしょ。 それよりも、attr 系によって変数名とメソッド名を関連付ける機能が提供されているにもかかわらず、? 付のメソッドだけ特例でそれができないほうが一貫性に欠けて嫌だ。
629 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:54:28 ] >変数名とメソッド名を関連付ける機能 単なるメソッド。とあるリフレクションのラップなだけ。 >? 付のメソッドだけ特例でそれができない できないのはそこじゃなくて変数名に?を付けること。 でもってこっちは処理系本体の機能の話。 パーサとかに手を入れて?付き変数を許してまで@hoge?とか書きたいか?
630 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:58:26 ] そりゃ現状じゃ @hoge? が書けないようにパースしてるんだから、パーサを変えるしかないわな。 別に難しいことじゃない。 あと、attr_reader が処理系そのものが提供しているかどうかなんて関係ないじゃん。飽くまで意味論の話だし、built-inで入ってるんだから。
631 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 01:02:56 ] だって…再定義できるもの
632 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 01:06:57 ] >>627 メソッドvalueと変数@valueがあったとして、メソッドのほうは「valueは何か?」と問う意味なのに対して@valueはそのままの意味だよね? 同じようにhoge?がメッセージだと解釈されても、@hoge?までメッセージと解釈する必要はないのでは?
633 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 01:20:26 ] 変数名だからその通りなんだけど、あくまでイメージというか馴れや先入観の問題だよ。>@hoge?がメッセージっぽい また別の問題として、 変数名に?が付けられて、attr系もそんな名前を受け取るとすると hoge.foo? = true とか hoge.bar! = false とかが出て来る。後者なんて比較の否定と見間違う。 さらにいうと、?や!を許すとして、[]とか[]=とか@-は変数名に許す? 全部メソッド名としては有効なはずだよ。 attr_accessor :foo= -> foo.foo= = 123 こんなことになる
634 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 01:44:47 ] hoge.foo? = true はできてもいいと思う。 hoge.foo! = ってのはまあちょっとヘンだけど、attr系で ! つけたかったことないから、あってもなくてもいいや。 [] や = が「メソッドの一部である」というのは別の側面で筋を通すための論法であって必ずしも名前の一部ではないので (その証拠にメソッド「foo=」は、「foo.foo = 」のようにスペースを入れることができる)、 attr_accessor :foo= 等はなくてもよいかと。
635 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 01:55:24 ] >その証拠にメソッド「foo=」は、「foo.foo = 」のようにスペースを入れることができる いやいや、メソッド名はあくまで「foo=」だよ。__send__(:foo=, 123)とか出来る。 パーサが頑張って「foo.foo = value」を「foo.foo=(value)」と同じような扱いにしてくれているだけで。
636 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 06:05:11 ] 隔離スレでやれ
637 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 09:41:53 ] 本スレが隔離スレってのも難儀な話だよなあ
638 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 07:15:54 ] RDEのツールバーとコンソール窓の設定などが上手く動作してくれません ツールバーを移動して1段にまとめたりしても、RDEを最起動すると別の位置へ 勝手に移動した状態になってしまいます コンソール窓は、フォントの設定が初期値に戻ってしまうのと、 ctrl+alt+cで開閉したりができません コンソール窓のフォント設定だけは致命的なんで、そこだけでもなんとかできればと
639 名前:638 mailto:sage [2008/10/21(火) 07:27:47 ] 一応環境も ActiveScriptRuby 1.8.7(p72) Windows XP SP3 です
640 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 14:20:14 ] ツールバーの問題は俺の環境(XP)では何年も前からあるよ。
641 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 15:51:59 ] てかRDE薦めてるサイトでもあるのか? 俺なら間違ってもRDEなんて使わせないんだが
642 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 15:56:44 ] 統合環境使わせるなら EclipseかNetBeansあたりじゃね?
643 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 15:58:04 ] 本筋以外での障壁が大きいからねえ… 「我慢して使う」時点で何か間違っとる 素直にエディタとプロンプトをAlt+Tabで切り替えて使うほうがマシ
644 名前:638 mailto:sage [2008/10/21(火) 17:13:53 ] コンソール窓のフォント設定は自分のミスでした コンソール窓で右クリして「設定」からフォントを設定していたのですが、 直ぐ上に「フォント」というのがありました… 見逃してました >>640 どもです ツールバーはしょうがないみたいですね >>641-643 どもです winの人がrubyを始めようと思うと、RDEがまず最初に目に入るような気がします NetBeansはDLしてあったのですが、JAVAが云々…とまたやることが増えそうなので 後回しになってました とりあえず簡単なプログラムを書いて試したかったので、RDEをという感じで 日常はEmEditorのフリー版(かなり古い)を使っていたので、それでやればよかったのですが コマンド操作には不慣れなwin人なんで、お手軽(そう)なRDEから初めてみようと思い 初心者〜中級者?への道筋がすっぽり抜けてる感じがしていて先行き不安ですが 書いて直ぐ実行できるのはやっぱり楽しいし勉強になります
645 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 18:04:59 ] RDEはirbと似たような感じでSandBoxとしてしか使わないなぁ。 ファイルに保存はしなきゃならんけど、EmEditorも言語モード別のキー設定と、 外部プログラムのを実行して標準出力を下窓に出す機能が(少なくともVer6からには) 備わってるから、キー1発で実行はできるよ。
646 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 18:48:59 ] RDEはいろいろなところで紹介されてるから、知名度はかなり高いし 動作はけっこう軽くて多機能、日本語対応と利点は多い が、不安定さ(特に文字コード関連)とレジストリ使用がそれらの魅力を帳消しにしている
647 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 19:42:48 ] RDEを普段使ってない人がファーストインプレッションあるいは又聞きで薦めてんじゃないかと思ってる 普段から使っていれば、少なくとも初心者には勧めようとは思えないはずだ 単一言語用だからといってIDE作成が簡単になるわけではない 1種類の言語にしか対応しなくても、10種類の言語に対応してても、IDEとしての作り方は同じだと思う Rubyに特化すればIDEが俺でも作れそうとか最初に思った人は罪深いなと思ってみる
648 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 19:58:42 ] FreeRIDEが日本語や他の文字コードに対応してくれれば無敵なんだが
649 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 22:52:51 ] rubyの表記法の質問なのですが、 Test::Sample のように書かれていたら、TestとSampleはともにクラスでTestがSampleの親クラス という認識で合ってますか? ::という記号は定数やクラス変数なども表すとネットで見たのですが 区別は付くのでしょうか?
650 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 23:13:36 ] :: は 「の」 だ Test::Sample は Test 「の」 Sample だ それ以上の意味はないよ クラスかどうかは普通に識別子で判断する 先頭が大文字なら定数かクラス 先頭が小文字かアンダースコアならメソッド ただ、あからさまに面倒なのでメソッドを :: で繋ぐことはRubyでは意図的にしない (他の言語での書き方をしないと死ぬ人が稀に使う)
651 名前:649 mailto:sage [2008/10/22(水) 00:09:42 ] >>650 ありがとうございます。 そんな曖昧なものだったんですね。メソッドは#でしたっけ? この業界っていやに自己主張強い人が多いから統一できないのかな
652 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 07:50:20 ] RDEってRubyのサンプルプログラムとして付いているもんだと思ってた・・・