2011-01-13 12 views
2

私は内部のwikiを持っており、browseURL(url、browser)を使って自分のwiki上の対応するページを直接開く関数w(引数)を作成しました。しかし、w(argument)の代わりに、?argumentと同様に#argumentに置き換えたいと思います。 shortkeyと、このような関数定義は、RR、individual?独自のオンラインヘルプにつながる引数関数

内で可能であるならば誰かが知っているあなたの助けのおかげで多くのことを

BR マーティン

答えて

1

「#」それを得ることはありませんので、Rでコメントを開始しますパーサを渡しました。 #fooに何もしたくない場合は、コアを修正してRを再コンパイルする必要があります。

+0

他のショートキーも同様です。#例だけです。申し訳ありませんでしたが、十分にはっきりしませんでした。 – Eva

+3

「ショートキー」とはどういう意味ですか? Rの構文にはそのような概念はありません。 ?foo表記法は、低レベルでhelp( "foo")にマップされる特別な構文です。 Rはマクロ言語ではなく関数型言語であることを忘れないでください。あなたのユーザーはw(foo)表記法を採用する必要があります。 – Spacedman

+0

"shortkey" == "単項演算子"演算子をRの意味で使用していますが、本質的に正しいです。 Brian Ripleyが述べているように、パーサーを変更せずに単項演算子をRに追加することはできません。 –

4

いいえあなたが探しているのは、Rに新しいユニーラー演算子を定義することです。これは不可能です。 (#はRのコメント文字なので、とにかく既に使用されているので動作しません)。

Brian Ripleyのこのpostは、同様の動機づけられた質問に答えるために、

1

あなたは何を変更することができますfooはそれを再割り当てすることによって行われます?

> assign("?",function(x){cat("HALP!\n")}) 
> ?foo 
HALP! 

明らかにあなたは引数はあなたが興味のあるものではありませんが、これがあれば、それはデフォルトのヘルプ・システムを通じ落ちる作ると思いますかなり醜い。

+2

例については、sosソースパッケージの 'FindFn2.R'ファイルを参照してください。その場合、 '??? 'が使用されます。 –

0

あなたはそれが4つのキーではなく、1ですが、それはあなたがRの主要な再加工せずに得ることができると同じくらい近いです

"%w%" <- function(x, y) w(y) 
1%w%argument 

、例えば、最初の引数にして何かを渡し、二項演算子を定義することができ

+0

ご協力ありがとうございます – Eva

関連する問題