相当于PERL Carp-> cluck($ msg)在Ruby中

用户名

Perl有一个名为Carp的模块,从中可以使用它打印出消息(明显抛出异常),该模块可以打印消息和完整的堆栈跟踪。

use Carp qw(cluck) ;
cluck ("foo")

将产生:

foo called from file bar, line 2

任何想法如何在Ruby中获得类似的东西?

多伯特

您可以Kernel#caller_locations为此使用http://www.ruby-doc.org/core-2.0.0/Kernel.html#method-i-caller_locations

def cluck(val)
  loc = caller_locations.last
  puts "#{val} called from file #{loc.path}, line #{loc.lineno}"
end

cluck 1
cluck "hello"

输出:

1 called from file line_of_caller.rb, line 6
hello called from file line_of_caller.rb, line 7

loc这是Thread :: Backtrace :: Location的实例,因此您还可以从中获取更多信息;查看http://www.ruby-doc.org/core-2.0.0/Thread/Backtrace/Location.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Perl相当于Python中的一组工人

来自分类Dev

在Perl中相当于sed -n'np'文件

来自分类Dev

Perl相当于Python中的一组工人

来自分类Dev

“===”相当于在Java中

来自分类Dev

相当于Java中的Ruby Hash

来自分类Dev

相当于Ruby中chmod + x

来自分类Dev

相当于ruby Gem文件的Python

来自分类Dev

Ruby的Python的defaultdict相当于什么?

来自分类Dev

相当于Ruby'is_a?'的Python

来自分类Dev

PHP相当于Ruby的拯救

来自分类Dev

Swift相当于Ruby的“收益”

来自分类Dev

相当于Ruby的`send`的Javascript

来自分类Dev

Perl 相当于“vi”编辑器中的 `&` 占位符

来自分类Dev

在zsh中相当于checkwinsize?

来自分类Dev

相当于iOS中的Android TextView?

来自分类Dev

相当于Android中的UIView

来自分类Dev

相当于Android中的plist

来自分类Dev

在Julia中相当于Python的“ with”吗?

来自分类常见问题

相当于JavaScript中的Python Pandas

来自分类Dev

相当于iscolor中的sass

来自分类Dev

相当于javaFX中的JLayeredPane?

来自分类Dev

相当于iOS中的Fragment(Android)

来自分类Dev

相当于iOS中的NSURLProtocol的Android

来自分类Dev

在mongo中相当于$ push的地图

来自分类Dev

在Ubuntu中相当于BasicTeX?

来自分类Dev

相当于Python中的MATLAB ksdensity

来自分类Dev

相当于Golang中的“ instanceof”

来自分类Dev

在BASIC中相当于`with ... end with`的R

来自分类Dev

相当于sql在()中的firebase