
Rubyの演算子 "===" についての質問です。
例:Rubyリファレンスより抜粋
require 'uri'
require 'net/http'
Net::HTTP.version_1_2 # おまじない
def fetch( uri_str, limit = 10 )
# 適切な例外クラスに変えるべき
raise ArgumentError, 'http redirect too deep' if limit == 0
response = Net::HTTP.get_response(URI.parse(uri_str))
case response
when Net::HTTPSuccess then response
when Net::HTTPRedirection then fetch(response['location'], limit - 1)
else
response.error!
end
end
HTTPRedirectionが起きたと仮定して。
この case文だと思った通りの動きをします。
しかし、case文の部分を
if response == Net::HTTPRedirection
としたところ if文の中に入ってきません。何故でしょう?
if response === Net::HTTPRedirection
としても同じ結果でした。
Rubyを勉強しはじめて 初日からこんな調子ですが
宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
>Ruby で言う self は、Java で言う this 何でしょうか?
えーと、そうだと思う。
って答えるほど、JavaもRubyもよく知っちゃいないんですが。
あー、リファレンスに「self というのは何ですか」ってのが
あるね。13番目↓
参考URL:http://www.ruby-lang.org/ja/man/index.cgi?cmd=vi …
No.1
- 回答日時:
逆かも。
if Net::HTTPRedirection === response
リファレンスの self === obj の項及び
リンクされてる Object#kind_of? の項参照のこと。
参考URL:http://66.102.11.104/search?q=cache:V5yvUDKblNUJ …
アドバイスありがとうございます。
if Net::HTTPRedirection === response
で問題なく動きました♪
リンク先も見させてもらいました。
っで
Ruby で言う self は、Java で言う this 何でしょうか?
なんか違うきもするのですが
Ruby がオブジェクト指向的にも構造化風にも書けるのは
self が裏で仕事をしているからと書いているサイトもありました。
self って何物なんでしょうか?
追加質問になってしまいましたが
時間が空いた時にでも 答えてくれると嬉しいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- 英語 Hence, osseointegration is but a foreign body resp 2 2022/11/03 18:27
- PHP JSON_UNESCAPED_UNICODEをつけてもJSONの日本語がブラウザで表示されない 1 2022/11/16 07:22
- 英語 While in peri-implantitis tissue, the regulation o 4 2022/06/09 00:57
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
数学、プログラミング、物理、...
-
画像生成AIのプロンプトの作り...
-
pip --versionがエラーになる
-
pythonの実行に関する質問
-
OS入ってる機器のソフト・アプ...
-
初心者powershellのPS1ファイル...
-
CSVファイルの複数行削除
-
パイソンのソースコードをChatG...
-
Python 3.12.2 か一番最新のパ...
-
ネットワークフォルダの中身を...
-
Google ColaboでGUI作成
-
共テのプログラミング言語はPyt...
-
プログラミングの雑談がしたい...
-
Pythonのコードエラーについて...
-
VBSでテキストファイルの2行目...
-
Python... 環境設定 初心者です...
-
GoogleAppsScript文字列置換の...
-
【GAS】特定文字の削除について
-
AIがプログラムする時代のプロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「arg」は何の略?
-
Ruby Selenium 要素の待機
-
プログラミング言語 R
-
例外の再スロー時に、その原因...
-
ruby メソッドのリターン
-
VBA/GetTickCountの49.7日の境...
-
Ruby 演算子 "==="
-
cos波表示について マクローリ...
-
【ruby】クラスCGIを改造したい
-
メソッド定義の構文のdefって
-
教えてください。vb5.0
-
get() と find() の違いについて
-
エクセルVBA オートフィルタで...
-
クラス名やモジュール名の競合...
-
実行時エラー450:引数の数が一...
-
エラー「メソッドまたはデータ...
-
テンプレートの特殊化でコンパ...
-
class roomとclassroom どちら...
-
正規表現で両端に文字列を置換
-
Rails コンボボックスの値の保...
おすすめ情報