diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-02-03 09:58:17 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-02-03 09:58:17 +0100 |
commit | d24eda3f5a8093cd5e3316453f170de659c75586 (patch) | |
tree | 4e3db7361c6cc955b6dbbf71b76e2c27e09e8ad9 /Lisp/method-invocation.lisp | |
parent | 3c76a7cf93c20e14d9bc8d6895d8f886e6e2bc44 (diff) |
Update documentation.
darcs-hash:af9cfdb8adda53a3459722f8156c54a3d31bfaf1
Diffstat (limited to 'Lisp/method-invocation.lisp')
-rw-r--r-- | Lisp/method-invocation.lisp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp index c0bad01..9aae94d 100644 --- a/Lisp/method-invocation.lisp +++ b/Lisp/method-invocation.lisp @@ -108,6 +108,20 @@ separating parts by hyphens works nicely in all of the `:INVERT`, *modern mode*. +## Note 2: + +Instead of using __invoke__, which is neither macro-friendly nor very +useful for method selection at run-time, you may **funcall** selectors +directly. Naturally, __apply__ works as well. + +The following calls are all equivalent: + + (invoke-by-name instance \"stringWithCString:encoding:\" \"Mulk.\" 4) + (invoke instance :string-with-c-string \"Mulk.\" :encoding 4) + (funcall (selector \"stringWithCString:encoding:\") instance \"Mulk.\" 4) + (apply (selector \"stringWithCString:encoding:\") (list instance \"Mulk.\" 4)) + + ## See also: __invoke-by-name__" @@ -168,6 +182,7 @@ are all equivalent: In fact, using __invoke-by-name__ is discouraged in favour of the latter form. + ## Rationale: Whereas __invoke__ tries to make writing as well as reading method |