IRB で Ruby メソッドを定義した場合、すべてを再入力せずにそのメソッドを編集するにはどうすればよいでしょうか? 質問する

IRB で Ruby メソッドを定義した場合、すべてを再入力せずにそのメソッドを編集するにはどうすればよいでしょうか? 質問する

たとえば、IRB を実行していて、コンソールに次のように入力したとします。

def full_name(first, last)
   puts "Your full name is: #{first, ' ', last}"
end

たとえば、パラメータを含めるように編集したい場合、メソッド全体を再入力せずにmiddle、同じメソッドを呼び出してパラメータ リストを編集し、ステートメントを編集するにはどうすればよいでしょうか。puts

PS この例は単純なので、メソッドを簡単に再入力できるのはわかっていますが、私が実験しているもっと大きなメソッドがあり、簡潔にするためにこの単純なものを使用しています。

ありがとう。

ベストアンサー1

できません。再入力/貼り付けするか、 を押して以前のすべてのステートメントを取得する以外に方法はありませんが、メソッドが長い場合は非常に混乱する可能性があります。

コードをエディターに入力してから、load 'mycode.rb'IRb で実行してみませんか? これは、基本的にテキストをコピーして貼り付けることと同じであり、load 'myfile.rb'再度呼び出すと、通常どおり、既存のメソッド定義が上書きされます。

あるいは、IRBの代わりにPryを使うのがさらに良いでしょう。下記のバニスターの提案(私自身、かなり前に IRB を Pry に完全に置き換えました)。

おすすめ記事