• ベストアンサー

Rubyにインクリメンタル演算子がない理由は?

singlecatの回答

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.1

↓ここに書かれていますね

参考URL:
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/5323
lah
質問者

お礼

ありがとうございます!参考になりました。 ただ、 『++の動作が本質的に「変数を操作する」ものであるため,変数がオブジェクトでないRubyでは導入できないでいます.』 がいまいちしっくり来きてません なんとなく bar += 1 ができるからと思って、ためしに class Fixnum def ++ self += 1 end end とかってできそうな気がするんですが、たしかにやってみるとエラーになっちゃいますね。 ともあれ、ありがとうございました。

関連するQ&A

  • Ruby 演算子 "==="

    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を勉強しはじめて 初日からこんな調子ですが 宜しくお願いいたします。

  • VBAの演算について

    Rubyで余りの計算をすると (-12977 % 60) + 1 =44 ちなみにVBAでは (-12977 mod 60) +1 =18 になるのはなぜでしょうか。 Rubyの方の演算のが正しいと思うのですが、 VBAはなぜ間違えた演算をしてしまうのか検証できる方はいらっしゃいませんか。

    • ベストアンサー
    • Ruby
  • rubyでは比較演算子もメソッドとして書き換えが可

    rubyでは<や>などの比較演算子もメソッドと分類されるのでオーバーライドが可能と認識しております。具体的にどのようにコーディングしたら良いのでしょうか? 例えば、配列に数値が格納されているとします。 array=[3,5,4,2,1] この配列をソートした場合に比較が何回行われたかをカウントしたいです。 p array.sort >や<が再定義可能なら、比較演算子が呼ばれる度にカウンターアップするなどと言う事はできるような気がするのですが、どうコーディングしてよいか解りません。 rubyのマニュアルも読んだし、それなりに検索でも頑張ったのですが、煮詰まってしまいました。 ご指導のほど、よろしくお願いいたします。

    • ベストアンサー
    • Ruby
  • Rubyってどうよ!?

    Rubyってかなり良さそう(一通り文法を見た限りでは、少なくとも 対象領域 がもろかぶる Perl よりはかなり良さそう)だけど、実際どんなもん? もちろん、現行サポート体制がままなっていないけれど、オライリーからも「動物本」が出ているし、今後PHPと平行して、サポートするところが増えてきそう。 (なんといってもマニュアルが全て日本語から先行して出て行くところが、われわれが他の言語で背負いつづけている一種の「ハンデ」が逆転するわけでおもしろい。) で、Ruby関連の掲示板にとうこうすると、感情的な意見ばかりくるだろうから、ここに投稿したわけなのですが、冷静に見て、将来Rubyはどんなものですかね。 (私の見る限り、「真のオブジェクト指向」「真のスクリプト指向」を実現している唯一の言語だと思うのですけど、文字列系記述はPerlと同等に強力で、オブジェクト指向にいたっては他の言語の追随をゆるさず、スクリプト的柔軟さでも、Perlをも軽く凌駕していると思いました。あくまで文法を一通りみての感想ですが。。。) なお、Ruby関連サイトは大体見て回ったので、サイト紹介はいらんです。

  • Ruby オススメの本

    Rubyを勉強している初心者ですが、オススメの本とかありますでしょうか? 「パーフェクトRuby」を買おうか、一番新しい本である「楽しいRuby」を買うか、Rubyの開発者であるまつもとゆきひろさん著の「プログラミング言語Ruby」を買うのが良いのか、それとも、他にオススメの本がありますでしょうか? RubyからRuby on Railsへと繋げていきたいと思っているのですが、オススメの本がありましたら、教えて下さい。 よろしくお願い致します。

    • ベストアンサー
    • Ruby
  • ビット演算子

    掲題の件ですが、 ネットを調べていて他の言語のビット演算子は見つけることができたのですが、Visual Basicでのビット演算子が見つかりませんでした。 ビットシフトだと A >> 2 A << 2 などとかかれていたのですが、これは使えるのでしょうか? よろしくお願いいたします。

  • 余りの演算子%について

    C言語の質問です。 -2%10  の演算に対して 8 を期待していたのですが、 演算結果は、 -2 でした。 -2 を 8 にする演算は、存在しないんでしょうか?

  • rubyを勉強中。おすすめのソースは?

    ruby言語の勉強を始めました。文法については、ざっと本を読みました。 そこで、他の上手な人が作ったrubyソースを解読してノウハウを取り入れたいいと思っています。 rubyで書かれた良いソースプログラムには、どんなものが有るでしょうか? よろしくお願いします。

    • ベストアンサー
    • Ruby
  • Ruby ダウンロードについてです

    本を読んでいてRubyというプログラミング言語に興味を持ちました。早速ダウンロードしようとしたんですが、よくわかりません。わかりやすく、安全にRubyをダウンロードできるサイトを教えてください。

    • ベストアンサー
    • Ruby
  • 初めてのプログラミング、rubyかphpか

    初めてプログラミングを学ぶのですが、rubyかphpかで迷っています。 現在のところの目的は、HP作成で、このokwaveのようなフォームを多用したサイトを作りたいと思っています。となると、PHPが向いているのでしょうが、「PHPはテンプレート言語だからプログラムの知識がつかない(他の言語に手を出すときにつまづく)」と聞きます。 そこで、RUBYも選択肢に入れています。 あと、WEBアプリ開発となると、PERLという言語もあるそうですが、PHPとどこが違うのですか? 回答お願いいたします。