[#44578] Ruby初心者が作りました — Kabu and Ruby管理人 <kabu_and_ruby@...>

http://www.geocities.jp/kabuandruby/index.html

26 messages 2008/02/06

[#44691] ”Rubyアプリケーションプログラミング”の伝言サーバの使い方 — "Yangkook Kim" <yangkookkim@...>

キムと申します。オーム社から出版されている書籍、"Rubyアプリケーションプログラミング"のP267~275に掲載されている伝言サーバー&クライアントの利用の仕方がわかりません。質問を要約すると次の2点です。1、サーバーが正常に起動されているかどうかわからない。2、書き込みクライアントで入力をサーバーに送信する方法がわからない。

8 messages 2008/02/24

[ruby-list:44641] Re: warningをエラー扱いする方法について、他

From: Nobuyoshi Nakada <nobu@...>
Date: 2008-02-14 15:47:26 UTC
List: ruby-list #44641
なかだです。

At Thu, 14 Feb 2008 02:40:04 +0900,
yoshimi wrote in [ruby-list:44627]:
> 一つ目は、タイトルにある通り、
> warningが発生した場合、エラーにして実行できないように
> したいのですが、これはどの様にすればできますでしょうか
> 
> 開発段階でwarningがあると、気持ち悪くはあるんですが
> スルーすることもできるし、見落としてしまうこともあります。
> できれば開発段階のうちに強制的にでも、
> 不安要素を全て摘み取ってしまいたいんですが、
> どうにもそのための方法が見つけられませんでした。

確実にwarningだけをエラーにする方法はありませんが、STDERRの出力
をチェックすればなんとなくそれっぽいことはできなくもありません。

$ cat w.rb
class Warning < RuntimeError
  def self.write(s)
    if / warning:/ =~ s
      $stderr = STDERR
      raise(self, s.chomp)
    end
    STDERR.write(s)
  end
end
$stderr = Warning
Array.new(1,nil){}

$ ruby w.rb 
w.rb:6:in `write': w.rb:12: warning: block supersedes default value argument (Warning)
	from w.rb:12:in `initialize'
	from w.rb:12:in `new'
	from w.rb:12

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread