문제

다른 많은 OO 프로그래밍 언어와 마찬가지로 Ruby에서도 연산자는 오버로드 가능합니다.그러나 특정 문자 연산자만 오버로드될 수 있습니다.

이 목록은 불완전할 수 있지만 오버로드할 수 없는 일부 연산자는 다음과 같습니다.

!, not, &&, and, ||, or
도움이 되었습니까?

해결책

메소드는 오버로드 가능하며 언어 구문의 일부입니다.

다른 팁

네.연산자는 오버로드될 수 없습니다.방법만.

일부 운영자는 실제로 그렇지 않습니다.그들은 방법의 설탕입니다.그래서 5 + 5 정말이야 5.+(5), 그리고 foo[bar] = baz 정말이야 foo.[]=(bar, baz).

루비 1.9에서는 ! 연산자는 실제로 메서드이기도 하며 재정의될 수 있습니다.이것만 남는다 && 그리고 || 그리고 우선순위가 낮은 상대 and 그리고 or.

재정의할 수 없는 다른 "결합 연산자"도 있습니다. a != b 실제로는 !(a == b) 그리고 a += b 실제로는 a = a+b.

그리고 잊지 말자 << 예를 들어:

string = "test"
string << "ing"

다음을 호출하는 것과 동일합니다.

string.<<("ing")
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top