2012-08-29 22 views
5

W konsoli wpisując jeden przechodni bez parametrów spowoduje wydrukowanie jej zawartości:Jak wyświetlić kod czasownika w J

tolower 

3 : 0 
x=. I. 26 > n=. ((65+i.26){a.) i. t=. ,y 
($y) $ ((x{n) { (97+i.26){a.) x}t 
) 

To miłe dla rozwoju, ale unexploitable podczas wykonywania. Czy istnieje sposób, aby to zrobić dynamicznie? Czy istnieje czasownik, który może zwrócić zawartość innego czasownika?

Na przykład:

showverb 'tolower' 

lub

showverb tolower 

Odpowiedz

9

Można używać jej representation. Na przykład pudełkowej reprezentacji (5!:2) z tolower jest:

(5!:2) <'tolower' 
┌─┬─┬────────────────────────────────────────┐ 
│3│:│x=. I. 26 > n=. ((65+i.26){a.) i. t=. ,y│ 
│ │ │($y) $ ((x{n) { (97+i.26){a.) x}t  │ 
└─┴─┴────────────────────────────────────────┘ 

jego liniowa (5!:5) wynosi:

(5!:5) <'tolower' 
3 : 0 
x=. I. 26 > n=. ((65+i.26){a.) i. t=. ,y 
($y) $ ((x{n) { (97+i.26){a.) x}t 
)