$!
과 같이 문자열 컨텍스트와 숫자 컨텍스트에서 다른 값을 반환하고 싶습니다. wantarray를 사용하여리스트 또는 스칼라 컨텍스트에 있는지를 확인할 수 있지만 순수한 Perl에서는 어떤 스칼라 컨텍스트를 결정할 수 있습니까? 나는 XS에도 답이 있다고 가정하고, 순수한 Perl에서는 그것을 할 수 없다면 그 답을 기꺼이 받아 들일 것이다. Scalar::Util
모듈다른 스칼라 컨텍스트에서 다른 값을 반환하는 개체는 어떻게 만듭니 까?
4
A
답변
13
체크 아웃, 특히 dualvar()
기능 :
use Scalar::Util qw(dualvar);
my $scalar = dualvar 10, "Hello";
my $twelve = $scalar + 2; # $twelve = 12
my $greeting = $scalar . " world"; # $greeting = "Hello world"
Scalar::Util
코어 배포판의 일부이며, 어디서나 펄이 사용 가능한해야합니다.
2
유용 할 수있는 경우 (로마 숫자 일 수도 있음) 제안 할 수 있지만 정수와 문자열 속성이있는 개체를 만드는 것이 좋습니다. 적절한 컨텍스트에서 적절한 속성을 사용하십시오.
이렇게하면 '과부하 사용'으로 작업을 오버로드 할 수있는 유연성이 향상됩니다. Roman Numerals 예제에서 dualvar는 2 개의 로마 숫자를 함께 추가 할 때까지 작동합니다.
관련 문제
- 1. C#에서 메서드 호출을 전달하는 프록시 개체는 어떻게 만듭니 까?
- 2. 이벤트 구독자는 어떻게 만듭니 까?
- 3. phpMyAdmin에서 각 서버마다 다른 테마를 어떻게 만듭니 까?
- 4. 다른 iOS 버전의 앱 아이콘은 어떻게 만듭니 까?
- 5. 다른 필드 값에 액세스해야하는 Symfony 유효성 검사기를 어떻게 만듭니 까?
- 6. belongs_to 다른 모델의 뷰에서 collection_select를 어떻게 만듭니 까?
- 7. 다른 스레드가 사용할 수있는 변수를 어떻게 만듭니 까? (C#)
- 8. Android에서 계기는 어떻게 만듭니 까?
- 9. AutoMapper 및 다른 개체는
- 10. 바이너리 패치는 어떻게 만듭니 까?
- 11. 사전 항목은 어떻게 만듭니 까?
- 12. UISplitView를 수동으로 어떻게 만듭니 까?
- 13. 상수 데이터를 반환하는 SQL 쿼리는 어떻게 만듭니 까?
- 14. C 팩토리 함수는 어떻게 만듭니 까?
- 15. Perl 클래스는 어떻게 만듭니 까?
- 16. Catalyst에서 세션을 어떻게 만듭니 까?
- 17. 게임 바닥을 어떻게 만듭니 까?
- 18. 컨테이너 파일은 어떻게 만듭니 까?
- 19. EDM에서 데이터베이스를 어떻게 만듭니 까?
- 20. 페이지 템플리트는 어떻게 만듭니 까?
- 21. 싱글턴 IEnumerable은 어떻게 만듭니 까?
- 22. 모바일 사이트는 어떻게 만듭니 까?
- 23. 포인터의 배열은 어떻게 만듭니 까?
- 24. JSON Array는 어떻게 만듭니 까?
- 25. 빈 op_array는 어떻게 만듭니 까?
- 26. gitosis에서 머리를 어떻게 만듭니 까?
- 27. RSS 피드는 어떻게 만듭니 까?
- 28. 동적 URL은 어떻게 만듭니 까?
- 29. 소셜 그래프는 어떻게 만듭니 까?
- 30. CruiseControl.Net에서 속성을 어떻게 만듭니 까?
감사합니다. 나는 정말로 다시 코어를 통과해야합니다. 잊었거나 결코 알지 못했던 좋은 것들이 너무 많습니다. –