0

メイン コード REPL エディターの Pry を試しています。

これは私が探していたものに非常に近いことがわかりましたが、使い方がよくわかりません。各メソッド (または他のメンバー) をクラスに追加/変更/削除する方法を知りたいです。

これを試したところ、

➜  ~  pry
[1] pry(main)> class AAA
[1] pry(main)*   def bbb
[1] pry(main)*     "ccc"
[1] pry(main)*   end  
[1] pry(main)* end  
=> nil
[2] pry(main)> cd AAA
[3] pry(AAA):1> ls
AAA#methods: bbb
locals: _  __  _dir_  _ex_  _file_  _in_  _out_  _pry_
[4] pry(AAA):1> def xxx
[4] pry(AAA):1*   "yyy"
[4] pry(AAA):1* end  
=> nil
[5] pry(AAA):1> def xxx
[5] pry(AAA):1*   "zzz"
[5] pry(AAA):1* end  
=> nil
[6] pry(AAA):1> cd ..
[7] pry(main)> Pry.WrappedModule(AAA).source
=> "class AAA\n  def bbb\n    \"ccc\"\n  end\nend\ndef xxx\n  \"yyy\"\nend\ndef xxx\n  \"zzz\"\nend\n"
[8] pry(main)> AAA.new.xxx
=> "zzz"
[9] pry(main)> 

思った通りにうまくいきました。xxxただし、ソースコードにはメソッドの定義が重複しています。古い方 (または両方) を消去したい場合、どうすればよいですか? また、新しいメソッドに交換せずに既存のメソッド (または他のメンバー) を削除したい場合は、どうすればよいですか?

PS私は主に、メモリとディスクの間でクラスのソースコードを編集、保存、および復元するためにこれを行っています。(一種の画像ベースの永続)

4

1 に答える 1