QA@IT
«回答へ戻る

adding output

2024
 > show-doc Tempfile#path
 ```
 
-などと叩くと、リファレンスとともに、ソースコードのファイル位置や行番号まで教えてくれます。
+などと叩くと、
+
+```
+From: /Users/your_name/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/tempfile.rb @ line 246:
+Number of lines: 2
+Owner: Tempfile
+Visibility: public
+Signature: path()
+
+Returns the full path name of the temporary file.
+This will be nil if #unlink has been called.
+```
+
+のようにして、リファレンスとともに、ソースコードのファイル位置や行番号まで教えてくれます。
 
 他にもpryはいろんなことができるので、 http://railscasts.com/episodes/280-pry-with-rails をじっくり見て参考にされることをおすすめします。
 

pryを使うと、ブレイクポイントを設置して対話的にデバッグができるようになります。

まず、開発環境だけでロードされるように

gem 'pry', :group => :development

bundle installしておいて、ブレイクポイントを貼りたいところ(コントローラの受信処理をしているところ)に

binding.pry

と書いておき、送信を実行します。すると、サーバがその行で停止し、ターミナル上でのサーバコンソールがプロンプトを出しているはずです。そこでは自由にローカル変数にアクセスできるので、params[:file].tempfileparams[:file].tempfile.classなどと叩いていけば、これがTempfileのインスタンスだとわかります。

そこで、

> show-doc Tempfile#path

などと叩くと、

From: /Users/your_name/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/tempfile.rb @ line 246:
Number of lines: 2
Owner: Tempfile
Visibility: public
Signature: path()

Returns the full path name of the temporary file.
This will be nil if #unlink has been called.

のようにして、リファレンスとともに、ソースコードのファイル位置や行番号まで教えてくれます。

他にもpryはいろんなことができるので、 http://railscasts.com/episodes/280-pry-with-rails をじっくり見て参考にされることをおすすめします。

あと、どうせならrails consoleもpry対応にしてしまいたければ、

gem 'pry-rails', :group => :development

とやってしまうのもいいでしょう。

ただ実際には、rubyのエコシステムは進化が速く、どんどんコードが量産されるかわりにドキュメントが不足してることが多い傾向にあります。これは、ひとつにはruby自体が簡潔明瞭に書けるため、英語の文章で説明文を書くのとrubyのソースコードとの間にあまり可読性に差がない、ということもあるかと思います。

そのため、実際にはソースコードを直接見に行ったほうが早いことも少なくありません。

そこでおすすめなのは、gem-browsegem-openなどのツールです。これらを入れておくと、

gem open bitwise

などとやるだけで、該当のgemのソースツリーをEDITORで開くことができるようになります。

pryを使うと、ブレイクポイントを設置して対話的にデバッグができるようになります。

まず、開発環境だけでロードされるように

```ruby
gem 'pry', :group => :development
```

で`bundle install`しておいて、ブレイクポイントを貼りたいところ(コントローラの受信処理をしているところ)に

```
binding.pry
```

と書いておき、送信を実行します。すると、サーバがその行で停止し、ターミナル上でのサーバコンソールがプロンプトを出しているはずです。そこでは自由にローカル変数にアクセスできるので、`params[:file].tempfile`や`params[:file].tempfile.class`などと叩いていけば、これが`Tempfile`のインスタンスだとわかります。

そこで、

```ruby
> show-doc Tempfile#path
```

などと叩くと、

```
From: /Users/your_name/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/tempfile.rb @ line 246:
Number of lines: 2
Owner: Tempfile
Visibility: public
Signature: path()

Returns the full path name of the temporary file.
This will be nil if #unlink has been called.
```

のようにして、リファレンスとともに、ソースコードのファイル位置や行番号まで教えてくれます。

他にもpryはいろんなことができるので、 http://railscasts.com/episodes/280-pry-with-rails をじっくり見て参考にされることをおすすめします。

あと、どうせならrails consoleもpry対応にしてしまいたければ、

```ruby
gem 'pry-rails', :group => :development
```

とやってしまうのもいいでしょう。

ただ実際には、rubyのエコシステムは進化が速く、どんどんコードが量産されるかわりにドキュメントが不足してることが多い傾向にあります。これは、ひとつにはruby自体が簡潔明瞭に書けるため、英語の文章で説明文を書くのとrubyのソースコードとの間にあまり可読性に差がない、ということもあるかと思います。

そのため、実際にはソースコードを直接見に行ったほうが早いことも少なくありません。

そこでおすすめなのは、`gem-browse`や`gem-open`などのツールです。これらを入れておくと、

```ruby
gem open bitwise
```

などとやるだけで、該当のgemのソースツリーをEDITORで開くことができるようになります。

回答を投稿

pryを使うと、ブレイクポイントを設置して対話的にデバッグができるようになります。

まず、開発環境だけでロードされるように

gem 'pry', :group => :development

bundle installしておいて、ブレイクポイントを貼りたいところ(コントローラの受信処理をしているところ)に

binding.pry

と書いておき、送信を実行します。すると、サーバがその行で停止し、ターミナル上でのサーバコンソールがプロンプトを出しているはずです。そこでは自由にローカル変数にアクセスできるので、params[:file].tempfileparams[:file].tempfile.classなどと叩いていけば、これがTempfileのインスタンスだとわかります。

そこで、

> show-doc Tempfile#path

などと叩くと、リファレンスとともに、ソースコードのファイル位置や行番号まで教えてくれます。

他にもpryはいろんなことができるので、 http://railscasts.com/episodes/280-pry-with-rails をじっくり見て参考にされることをおすすめします。

あと、どうせならrails consoleもpry対応にしてしまいたければ、

gem 'pry-rails', :group => :development

とやってしまうのもいいでしょう。

ただ実際には、rubyのエコシステムは進化が速く、どんどんコードが量産されるかわりにドキュメントが不足してることが多い傾向にあります。これは、ひとつにはruby自体が簡潔明瞭に書けるため、英語の文章で説明文を書くのとrubyのソースコードとの間にあまり可読性に差がない、ということもあるかと思います。

そのため、実際にはソースコードを直接見に行ったほうが早いことも少なくありません。

そこでおすすめなのは、gem-browsegem-openなどのツールです。これらを入れておくと、

gem open bitwise

などとやるだけで、該当のgemのソースツリーをEDITORで開くことができるようになります。

pryを使うと、ブレイクポイントを設置して対話的にデバッグができるようになります。

まず、開発環境だけでロードされるように

```ruby
gem 'pry', :group => :development
```

で`bundle install`しておいて、ブレイクポイントを貼りたいところ(コントローラの受信処理をしているところ)に

```
binding.pry
```

と書いておき、送信を実行します。すると、サーバがその行で停止し、ターミナル上でのサーバコンソールがプロンプトを出しているはずです。そこでは自由にローカル変数にアクセスできるので、`params[:file].tempfile`や`params[:file].tempfile.class`などと叩いていけば、これが`Tempfile`のインスタンスだとわかります。

そこで、

```ruby
> show-doc Tempfile#path
```

などと叩くと、リファレンスとともに、ソースコードのファイル位置や行番号まで教えてくれます。

他にもpryはいろんなことができるので、 http://railscasts.com/episodes/280-pry-with-rails をじっくり見て参考にされることをおすすめします。

あと、どうせならrails consoleもpry対応にしてしまいたければ、

```ruby
gem 'pry-rails', :group => :development
```

とやってしまうのもいいでしょう。

ただ実際には、rubyのエコシステムは進化が速く、どんどんコードが量産されるかわりにドキュメントが不足してることが多い傾向にあります。これは、ひとつにはruby自体が簡潔明瞭に書けるため、英語の文章で説明文を書くのとrubyのソースコードとの間にあまり可読性に差がない、ということもあるかと思います。

そのため、実際にはソースコードを直接見に行ったほうが早いことも少なくありません。

そこでおすすめなのは、`gem-browse`や`gem-open`などのツールです。これらを入れておくと、

```ruby
gem open bitwise
```

などとやるだけで、該当のgemのソースツリーをEDITORで開くことができるようになります。