因此,假設我正在IRB中工作,嘗試並逐步構建一些新的類和方法。或者,假設我編寫的一個常規腳本(IRB外部)逐步構建了一些類/方法。Ruby:在運行時保存類/方法的定義
現在我想保存我所建的東西。
是否有一種簡單的方法來自動反思運行時的類/方法並將它們轉換爲普通的類定義和方法定義?
因此,假設我正在IRB中工作,嘗試並逐步構建一些新的類和方法。或者,假設我編寫的一個常規腳本(IRB外部)逐步構建了一些類/方法。Ruby:在運行時保存類/方法的定義
現在我想保存我所建的東西。
是否有一種簡單的方法來自動反思運行時的類/方法並將它們轉換爲普通的類定義和方法定義?
嘗試pry,你永遠不會回到IRB。您可以使用撬作爲一個調試器,它工作得很好,有一些偉大的功能,如:
1.9.2 (main):0 > show-method Array#group_by
From: enum.c in Ruby Core (C Method):
Number of lines: 13
static VALUE
enum_group_by(VALUE obj)
{
VALUE hash;
RETURN_ENUMERATOR(obj, 0, 0);
hash = rb_hash_new();
rb_block_call(obj, id_each, 0, 0, group_by_i, hash);
OBJ_INFECT(hash, obj);
return hash;
}
是有edit-method命令了。想象一下你可以用它做什麼。
如果您想要一個嚴格的IRB相關解決方案,我唯一想到的就是sketches。
如果您使用Pry而不是IRB,則可以這樣做,實際上Pry是爲此設計的。
查找到edit-method
和edit
撬命令,在這裏:https://github.com/pry/pry/wiki/Editor-integration
同時還要注意在這裏找到了截屏:http://vimeo.com/26391171
我不知道有什麼辦法做到這一點。但說實話,這聽起來很有趣,應該是可能的。不過,我不會用它來開發IRB。我真的很喜歡創造一些「智能」和「學習」的代碼。 – Koraktor