[#42503] floatの値がずれる — Sato Hiroshi <hirocy.f01@...>

hirocyと申します.

33 messages 2006/07/04
[#42504] Re: floatの値がずれる — rubikitch <rubikitch@...> 2006/07/04

From: Sato Hiroshi <hirocy.f01@plala.to>

[#42505] Re: floatの値がずれる — Sato Hiroshi <hirocy.f01@...> 2006/07/04

hirocyです.るびきちさん,ありがとうございます.

[#42569] JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Takahiro Kambe <taca@...>

こんばんは。

19 messages 2006/07/11
[#42570] Re: JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Yukihiro Matsumoto <matz@...> 2006/07/11

まつもと ゆきひろです

[#42572] Re: JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Takahiro Kambe <taca@...> 2006/07/11

In message <1152619872.835566.21152.nullmailer@x31.priv.netlab.jp>

[#42575] Re: JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Yukihiro Matsumoto <matz@...> 2006/07/11

まつもと ゆきひろです

[ruby-list:42615] Re: メソッドの戻り値を知る方法

From: rubikitch <rubikitch@...>
Date: 2006-07-29 06:30:49 UTC
List: ruby-list #42615
From: Yuumi Yoshida <yuumi3@ey-office.com>
Subject: [ruby-list:42614] Re: メソッドの戻り値を知る方法
Date: Sat, 29 Jul 2006 15:05:59 +0900

> なるほど、これなら タイプが少なくて良いですね!

はい。手軽です。

> ただし、今回ほしいのは初心者が使えるような、なるべく頭を使わずに機械的に
> 戻り値を表示する方法がないかな? と考えています。
> 
> こんな感じで
> 
> def max(a, b)
>   print_arguments(a, b)
> 
>   if (a > b)
>    a
>   else
>    b
>  end
> 
>  print_return_value
> end

ではこれでどうでしょ?
debugprintはブロックを持ちます。
引数と戻り値を表示したいならば、debugprintの引数にメソッドの引数を、
メソッドの最後にendを置きます。

なお、debugprintは将来外すと思われるのでインデントはそのままにしてあります。

def debugprint(*args)
  printf("args = %s\n", args.map{|x| x.inspect}.join(", "))
  ret = yield
  printf("ret = %s\n", ret.inspect)
  ret
end

def max(a, b)
  debugprint(a, b) do   # *

  if (a > b)
   a
  else
   b
  end

  end                   # *
end

max(1,3)


> または、set_trace_func()などを使った、メソッド単位のトレースが出来るモ
> ジュールとかあるでしょうか?

set_trace_func() は debug.rb, trace.rb, profile.rbなどに使われています。

tracerはどうでしょう?

require 'tracer'
 
  Tracer.on によりトレース出力を有効にする。
 
  Tracer.off によりトレース出力を無効にする。
 
  また、ブロック付きで Tracer.on を呼び出すと、そのブロック内のみトレースを出力する
  。

--
rubikitch
http://www.rubyist.net/~rubikitch/

In This Thread