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


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

Ruby 初心者スレッド Part 22



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のサンプルプログラムとして付いているもんだと思ってた・・・






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

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

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