2013-11-24 3 views
-1

나는 R이 더 파이네 닉이되고 싶습니다. 변환하는 단계 중 하나는 '!'대신 '사용 안함'을 사용하는 것입니다. 이 C++ 및 컴파일 등의 작성이 필요하지 않길 바래요?'!'대신 'not'를 사용하십시오. in R

기능 : "! TRUE"는 "not TRUE"와 같아야합니다.

어디서부터 시작해야할지 알고 있다면 저를 가르쳐주십시오.

+2

https://stat.ethz.ch/pipermail/r-devel/2008-March/048680.html –

+0

... 해당 주석 스레드를 기반으로하면 파서를 수정하지 않으면 요청이 불가능한 것처럼 보입니다 (즉, 사용자 정의 단항 연산자를 정의 할 수 없음). –

+1

파이썬이 파이썬을 사용하기를 원한다면 ... 나는이 질문을 너무 광범위하게 결론 짓기로 결정했다. – Roland

답변

13

당신은 R 방식을 더 잘 받아들입니다. 왜 그런 작은 일에 모든 노력을 기울 였나요? Python을 원하면 Python을 사용하십시오. 게다가 !을 다른 프로그래밍 언어에서 "not"로 사용하는 것이 일반적입니다.

어쨌든,이 "없다"의 사용을 허용 뭔가이지만,이 !보다 훨씬 더 나쁘다합니다 (대한 공격 방법) 제 생각에는

not <- function(x) { !x } 

if (not(FALSE)) { print(1) } 
[1] 1 

괄호를 포함 할 것이다.

그리고 "나는 if x is not in y:을 갖고 싶습니다."라고 생각하는 것을들을 수는 있지만 제발, 파이썬이 들여 쓰기가 필요하지 않은 방법을 원한다고 제안하는 것과 같을 것입니다.

아이디어는 언어를 배우고 개인의 필요에 맞게 언어를 변경한다는 것입니다. 코드를 사용하는 다른 사람들은 어떻게됩니까?

+0

내 코드를 사용하는 사람들은 Python처럼 멋지게 읽을 수있는 코드를 갖게됩니다. Python에서 '좋은'기능과 접근 방식을 정의하는 일종의 라이브러리를 얻을 수 있습니다. 괄호가 정확히 내가 질문을 올린 이유입니다. – Konsta

+0

실망 시켜서 죄송 합니다만, @ Dualinity의 대답은 파서를 수정하는 기본 R 코드의 수정 된 버전을 만드는 매우 단순한 작업을 수행하기를 원하지 않는다면 최선이라고 생각합니다. .. –

+0

예, 저는 파서를 수정하지 않을 것입니다. 대답 읽기 나는 그것이 '!'뿐만이 아니라는 것을 깨달았습니다. 그러나 if에는 괄호도 있습니다. 나는 "if (! var) ..."와 같은 것을 배워야한다고 생각한다. :) – Konsta