QA@IT
«質問へ戻る

コードプロックで囲みました

1138
タイトル
rubyのリファレンスの見方
Rubyのリファレンスの見方
本文
-現在railsとrubyの勉強をしているのですが、リファレンスが読めなくて困っています。
-というのもrubyは型が宣言されてないので、手元にあるインスタンスのメソッドの使い方がわからないのです。
+現在RailsとRubyの勉強をしているのですが、リファレンスが読めなくて困っています。
+というのもRubyは型が宣言されてないので、手元にあるインスタンスのメソッドの使い方がわからないのです。
 具体的に、今悩んでいる事を例に使って、説明させていただきます。
 
-現在やりたい事はrailsをつかって、送られてきたファイルをputsでコンソールに表示させたいです。
+現在やりたい事はRailsをつかって、送られてきたファイルをputsでコンソールに表示させたいです。
 コントロール側のソースはこうなっています
+
+~~~ruby
 # coding: UTF-8
 ・
 ・
 ・
-p params[:file].read#このソース自体はコピペです
+p params[:file].read
+#このソース自体はコピペです
+~~~
+
 しかしこの出力結果では文字化けしてしまいました(fileの中身には日本語が入っています)
 
 私の予想としてはreadになんらかの引数を与える事で文字コードを指定できるのではないかと予想しました。
 そこで中に何のクラスのインスタンスが入っているかを知りたいため、このようにソースを変更しました。
+
+~~~ruby
 p params[:file].class
+~~~
 
 この結果、
+
+~~~ruby
 ActionDispatch::Http::UploadedFile
+~~~
+
 というクラスがはいっていることがわかりました。
 
 そこでActionDispatch::Http::UploadedFileでググってリファレンスを見つけました。
+
 http://api.rubyonrails.org/classes/ActionDispatch/Http/UploadedFile.html
+
 しかし特に説明が書いていません。
 ソースをみると
+
+~~~ruby
 def read(*args)
   @tempfile.read(*args)
 end
+~~~
+
 とかいてあり、どうやら @tempfileというメンバ変数をラップしているようです。
 しかし私には@tempfileは何のクラスのインスタンスか判断できません。
-
 
 ここまでが実際に困ったことです。私は元々JavaやC#の出の人間なので、宣言時の型をみて対象のリファレンスを読むという方法しかわからないのですが、rubyでは今回のようなインスタンスに何のクラスが入っているかわからない事が多く、どんなメソッドが提供されているのか判断に苦しむことが多いです。
 

Rubyのリファレンスの見方

現在RailsとRubyの勉強をしているのですが、リファレンスが読めなくて困っています。
というのもRubyは型が宣言されてないので、手元にあるインスタンスのメソッドの使い方がわからないのです。
具体的に、今悩んでいる事を例に使って、説明させていただきます。

現在やりたい事はRailsをつかって、送られてきたファイルをputsでコンソールに表示させたいです。
コントロール側のソースはこうなっています

# coding: UTF-8



p params[:file].read
#このソース自体はコピペです

しかしこの出力結果では文字化けしてしまいました(fileの中身には日本語が入っています)

私の予想としてはreadになんらかの引数を与える事で文字コードを指定できるのではないかと予想しました。
そこで中に何のクラスのインスタンスが入っているかを知りたいため、このようにソースを変更しました。

p params[:file].class

この結果、

ActionDispatch::Http::UploadedFile

というクラスがはいっていることがわかりました。

そこでActionDispatch::Http::UploadedFileでググってリファレンスを見つけました。

http://api.rubyonrails.org/classes/ActionDispatch/Http/UploadedFile.html

しかし特に説明が書いていません。
ソースをみると

def read(*args)
  @tempfile.read(*args)
end

とかいてあり、どうやら @tempfileというメンバ変数をラップしているようです。
しかし私には@tempfileは何のクラスのインスタンスか判断できません。

ここまでが実際に困ったことです。私は元々JavaやC#の出の人間なので、宣言時の型をみて対象のリファレンスを読むという方法しかわからないのですが、rubyでは今回のようなインスタンスに何のクラスが入っているかわからない事が多く、どんなメソッドが提供されているのか判断に苦しむことが多いです。

皆さんはこのような問題に出会った場合どのように解決されるのでしょうか?

現在RailsとRubyの勉強をしているのですが、リファレンスが読めなくて困っています。
というのもRubyは型が宣言されてないので、手元にあるインスタンスのメソッドの使い方がわからないのです。
具体的に、今悩んでいる事を例に使って、説明させていただきます。

現在やりたい事はRailsをつかって、送られてきたファイルをputsでコンソールに表示させたいです。
コントロール側のソースはこうなっています

~~~ruby
# coding: UTF-8
・
・
・
p params[:file].read
#このソース自体はコピペです
~~~

しかしこの出力結果では文字化けしてしまいました(fileの中身には日本語が入っています)

私の予想としてはreadになんらかの引数を与える事で文字コードを指定できるのではないかと予想しました。
そこで中に何のクラスのインスタンスが入っているかを知りたいため、このようにソースを変更しました。

~~~ruby
p params[:file].class
~~~

この結果、

~~~ruby
ActionDispatch::Http::UploadedFile
~~~

というクラスがはいっていることがわかりました。

そこでActionDispatch::Http::UploadedFileでググってリファレンスを見つけました。

http://api.rubyonrails.org/classes/ActionDispatch/Http/UploadedFile.html

しかし特に説明が書いていません。
ソースをみると

~~~ruby
def read(*args)
  @tempfile.read(*args)
end
~~~

とかいてあり、どうやら @tempfileというメンバ変数をラップしているようです。
しかし私には@tempfileは何のクラスのインスタンスか判断できません。

ここまでが実際に困ったことです。私は元々JavaやC#の出の人間なので、宣言時の型をみて対象のリファレンスを読むという方法しかわからないのですが、rubyでは今回のようなインスタンスに何のクラスが入っているかわからない事が多く、どんなメソッドが提供されているのか判断に苦しむことが多いです。

皆さんはこのような問題に出会った場合どのように解決されるのでしょうか?

質問を投稿

rubyのリファレンスの見方

現在railsとrubyの勉強をしているのですが、リファレンスが読めなくて困っています。
というのもrubyは型が宣言されてないので、手元にあるインスタンスのメソッドの使い方がわからないのです。
具体的に、今悩んでいる事を例に使って、説明させていただきます。

現在やりたい事はrailsをつかって、送られてきたファイルをputsでコンソールに表示させたいです。
コントロール側のソースはこうなっています

coding: UTF-8




p params[:file].read#このソース自体はコピペです
しかしこの出力結果では文字化けしてしまいました(fileの中身には日本語が入っています)

私の予想としてはreadになんらかの引数を与える事で文字コードを指定できるのではないかと予想しました。
そこで中に何のクラスのインスタンスが入っているかを知りたいため、このようにソースを変更しました。
p params[:file].class

この結果、
ActionDispatch::Http::UploadedFile
というクラスがはいっていることがわかりました。

そこでActionDispatch::Http::UploadedFileでググってリファレンスを見つけました。
http://api.rubyonrails.org/classes/ActionDispatch/Http/UploadedFile.html
しかし特に説明が書いていません。
ソースをみると
def read(*args)
@tempfile.read(*args)
end
とかいてあり、どうやら @tempfileというメンバ変数をラップしているようです。
しかし私には@tempfileは何のクラスのインスタンスか判断できません。

ここまでが実際に困ったことです。私は元々JavaやC#の出の人間なので、宣言時の型をみて対象のリファレンスを読むという方法しかわからないのですが、rubyでは今回のようなインスタンスに何のクラスが入っているかわからない事が多く、どんなメソッドが提供されているのか判断に苦しむことが多いです。

皆さんはこのような問題に出会った場合どのように解決されるのでしょうか?

現在railsとrubyの勉強をしているのですが、リファレンスが読めなくて困っています。
というのもrubyは型が宣言されてないので、手元にあるインスタンスのメソッドの使い方がわからないのです。
具体的に、今悩んでいる事を例に使って、説明させていただきます。

現在やりたい事はrailsをつかって、送られてきたファイルをputsでコンソールに表示させたいです。
コントロール側のソースはこうなっています
# coding: UTF-8
・
・
・
p params[:file].read#このソース自体はコピペです
しかしこの出力結果では文字化けしてしまいました(fileの中身には日本語が入っています)

私の予想としてはreadになんらかの引数を与える事で文字コードを指定できるのではないかと予想しました。
そこで中に何のクラスのインスタンスが入っているかを知りたいため、このようにソースを変更しました。
p params[:file].class

この結果、
ActionDispatch::Http::UploadedFile
というクラスがはいっていることがわかりました。

そこでActionDispatch::Http::UploadedFileでググってリファレンスを見つけました。
http://api.rubyonrails.org/classes/ActionDispatch/Http/UploadedFile.html
しかし特に説明が書いていません。
ソースをみると
def read(*args)
  @tempfile.read(*args)
end
とかいてあり、どうやら @tempfileというメンバ変数をラップしているようです。
しかし私には@tempfileは何のクラスのインスタンスか判断できません。


ここまでが実際に困ったことです。私は元々JavaやC#の出の人間なので、宣言時の型をみて対象のリファレンスを読むという方法しかわからないのですが、rubyでは今回のようなインスタンスに何のクラスが入っているかわからない事が多く、どんなメソッドが提供されているのか判断に苦しむことが多いです。

皆さんはこのような問題に出会った場合どのように解決されるのでしょうか?