タグ

RubyとObjectに関するfjwr38のブックマーク (2)

  • tappでプリントデバッグを便利に行う - Qiita

    こんな経験はありませんか? アプリケーションの開発中は少なからずプリントデバッグを行うことがあると思います。そのなかで、以下のような経験はありませんか? ArrayやHashのメソッドチェーンの間のオブジェクトの状態を確認するために、一時変数を用紙したことがある ppやpを消し忘れてリポジトリにコミットしてしまったことがある 以上の経験を一度でもしたことのある方は、いますぐtappを導入すべきです。 tappとは tappは、プリントデバッグを簡単に行うためのライブラリです。tappをrequireすると以下のメソッドが使えるようになります。 Object#tapp Object#taputs 動作はいたって単純で、レシーバをpp(puts)して返すというだけです。 なぜこれが便利なのか プリントデバッグするのにソースコードの変更が最小で済む 前述のような単純な文字列を出力する場合には、p

    tappでプリントデバッグを便利に行う - Qiita
  • Object#freeze (Ruby 3.3 リファレンスマニュアル)

    freeze -> self[permalink][rdoc][edit] オブジェクトを凍結(内容の変更を禁止)します。 凍結されたオブジェクトの変更は例外 FrozenError を発生させます。いったん凍結されたオブジェクトを元に戻す方法はありません。 凍結されるのはオブジェクトであり、変数ではありません。代入などで変数の指すオブジェクトが変化してしまうことは freeze では防げません。 freeze が防ぐのは、 `破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい場合は、グローバル変数なら Kernel.#trace_var が使えます。 [RETURN] self を返します。 a1 = "foo".freeze a1 = "bar" p a1 #=> "bar" a2 = "foo".freeze a2.replace("bar") # can't mo

  • 1