ruby - 커뮤니티 - 루비 코드




IRB에서 앞서 정의한 방법의 출처를 볼 수 있습니까? (3)

IRB에 방법을 정의한 경우 나중에 세션에서 소스를 검토 할 수있는 방법이 있습니까?

> def my_method
>   puts "hi"
> end

몇 가지 출력 화면이 나중에 나 같은 것을 쓸 수 있기를 바랍니다.

> source my_method

돌아온다 :

=> def my_method; puts "hi"; end;

이것이 가능한가?


IRB가 ​​아니라 pry 에이 기능이 내장되어 있습니다.

보다:

pry(main)> def hello
pry(main)*   puts "hello my friend, it's a strange world we live in"
pry(main)*   puts "yes! the rich give their mistresses tiny, illuminated dying things"
pry(main)*   puts "and life is neither sacred, nor noble, nor good"
pry(main)* end
=> nil
pry(main)> show-method hello

From: (pry) @ line 1:
Number of lines: 5

def hello
  puts "hello my friend, it's a strange world we live in"
  puts "yes! the rich give their mistresses tiny, illuminated dying things"
  puts "and life is neither sacred, nor noble, nor good"
end
pry(main)> 

Ruby 1.9.2와 Rubygems.org에서 사용 가능한 것보다 새로운 버전의 sourcify gem (예 : GitHub에서 소스를 빌드하는 경우)을 사용하는 경우 다음을 수행 할 수 있습니다.

>> require 'sourcify'
=> true
>> 
..   class MyMath
..     def self.sum(x, y)
..         x + y # (blah)
..       end
..   end
=> nil
>> 
..   MyMath.method(:sum).to_source
=> "def sum(x, y)\n  (x + y)\nend"
>> MyMath.method(:sum).to_raw_source
=> "def sum(x, y)\n    x + y # (blah)\n  end"

편집 : 또한 내부에서 사용하는 방법 인 method_source 확인하십시오.


시도하십시오. 거기에 대한 railscast (동일한 주 릴리스!) 및 쇼 방법을 사용하여 코드를 표시하는 방법을 보여줍니다.





irb