>>> a = 55
>>> b = "hello"
>>> ~a # this will work
>>> ~b # this will fail
위의 실패에 대한 놀라운 사실은 없지만 문자열에서 작업 할 때 ~ 연산자를 과부하하고 싶다고 가정 해 보겠습니다. 저는 파이썬을 처음 접해 보았습니다. 그래서 이것에 대해 조사해 보았습니다. 그리고 나는 단지 일할 수 없었던 약간의 제안을 발견했습니다. 나는 어떤 종류의 새로운 수업을 만들 수 있다는 것을 알고 있지만, 다음과 같이 잘 작동하고 싶습니다.문자열에 ~ 연산자를 오버로드 할 수 있습니까?
>>> ~"alpha bravo"
이것이 가능합니까? 그렇다면 어떻게? 어떻게 이러한 종류의 과부하를합니까?
부지런한 사람이라면 코드를 구문 분석하고 필요에 따라 AST를 수정하는 프런트 엔드를 작성할 수 있습니다. –
정확히 '~'알파 브라보가 어떻게 할 것으로 기대합니까? 아마도 당신이 원하는대로 작동 할 수있는 다른 데이터 구조 (문자열이 아닌)가 있을까요? – Blckknght
저는 C#에 대한 최근 변경 사항을 PHP에서 가져 왔으며 (아마 다른 곳에서 가져온 것임) 문자열에 변수를 포함하고 있습니다. 그것이 나에게 떠올랐다면'myformat ("당신은 벽에 {맥주}를 가지고 있습니다.")를 상당히 쉽게 구현할 수있었습니다. "그런 다음 나는 정신적 인 도약을 취하여"~에 벽에 맥주가있다 "고 생각했습니다. 이것들은 언어에 대해 더 많이 배우려고 할 때 생각하는 것들입니다. – Argle