중첩 된 명명 된 매개 변수의 기본값 유지

코드 섹션

이 질문은 대답하기가 매우 쉽고 대답은 "아니오"라고 생각합니다. 그러나 나는 무언가를 놓치고 있지 않은지 확인하고 싶습니다.

다음 코드를 고려하십시오.

sub f(:$a = 'foo') { say $a }
sub g(:$a) { f :$a }
g();  # OUTPUT: «(Any)»

의 서명 / 몸을 바꿀 수있는 좋은 방법이 있나요 &f또는 &g그래서이 인쇄 그 foo대신은 Any?

&f대한 기본값을 사용하는 두 가지 방법을 알고 $a있지만 둘 다 좋지 않습니다.

옵션 1:

sub f(:$a = 'foo') { say $a }
multi g(:$a) { f :$a }
multi g()    { f }
g();  # OUTPUT: «foo»

옵션 2 :

sub f(:$a = 'foo') { say $a }
sub g(:$a) { f |(:$a with $a) }
g();  # OUTPUT: «foo»

이 두 가지 모두 훌륭한 접근 방식으로 느껴지지 않으므로 누군가 제가 놓치고있는보다 우아한 접근 방식을 보여줄 수 있기를 바랍니다. 반면에이 두 가지가 모두 작동하므로 이것이 약간 우아하지 않은 코너 (그리고 매우 작은 코너)라면 큰 문제가되지 않을 것입니다.

엘리자베스 마티 젠

옵션 1을 사용하거나 sub "g"가 항상 sub "f"를 호출하는 경우 모든 매개 변수 의 캡처를 생성하고이를 전달합니다.

sub f(str :$a = 'foo') { say $a }
sub g(|c) { f |c }
g a => "bar";  # "bar"
g;             # "foo"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

명명 된 또는 선택적 매개 변수의 기본값 가져 오기

분류에서Dev

PowerShell : 명명 된 매개 변수 값

분류에서Dev

명명 된 기본 매개 변수의 JSDoc Typescript 검사

분류에서Dev

명령 줄의 중첩 된 config.yaml 파일에서 구성 매개 변수를 지정하는 Snakemake

분류에서Dev

명명 된 매개 변수에서 분할되지 않는 Dapper 다중 매핑

분류에서Dev

파괴없이 명명 된 기본 ES6 매개 변수

분류에서Dev

kedro run CLI 명령을 사용하여 중첩 된 매개 변수 재정의

분류에서Dev

Perl Dancer 및 명명 된 매개 변수와 중첩 된 접두사로 경로 정의

분류에서Dev

깊게 중첩 된 개체의 정의되지 않은 변수에 대한 기본값

분류에서Dev

셸 기능에서 작동하지 않는 명명 된 매개 변수

분류에서Dev

투명 div에 중첩 된 SVG 개체의 불투명도 채우기

분류에서Dev

명명 된 bash 함수 매개 변수

분류에서Dev

명명 된 매개 변수로 정의 된 함수에 대한 MyPy 유형 힌트이지만 ** kwargs?

분류에서Dev

[기본값] new-user.component.ts : 21 : 4의 오류 제공된 매개 변수가 호출 대상의 서명과 일치하지 않습니다.

분류에서Dev

명명 된 매개 변수가있는 Couchbase N1QL 기본 선택

분류에서Dev

명명 된 매개 변수 'colors'가 정의되지 않았습니다.

분류에서Dev

다른 명령에 제공된 매개 변수로 명령 별명 지정

분류에서Dev

dart의 개인 명명 된 매개 변수

분류에서Dev

명명 된 매개 변수 'child'가 정의되지 않았습니다. 이름을 기존의 명명 된 매개 변수 이름으로 수정 해보십시오.

분류에서Dev

명명 된 변수를 사용하여 const rvalue 참조 매개 변수에 대한 기본값을 정의하는 방법은 무엇입니까?

분류에서Dev

중첩 된 템플릿 매개 변수 및 유형 추론

분류에서Dev

중첩 된 유형 매개 변수의 유형 매개 변수를 파악하는 방법

분류에서Dev

정의 된 매개 변수로 중첩 된 정의 C ++

분류에서Dev

타이프 스크립트 및 기본값을 사용하여 중첩 된 매개 변수 분해

분류에서Dev

중첩 된 자원 ID 매개 변수

분류에서Dev

Rails-중첩 된 Strong 매개 변수

분류에서Dev

C-명명 된 매개 변수가있는 함수 포인터 유형

분류에서Dev

Java : 명명 된 매개 변수와 명명되지 않은 매개 변수의 조합을 실행 가능한 jar / main 메서드에 전달

분류에서Dev

"x 값으로 명명 된 매개 변수"가 설정되어 있는지 확인

Related 관련 기사

  1. 1

    명명 된 또는 선택적 매개 변수의 기본값 가져 오기

  2. 2

    PowerShell : 명명 된 매개 변수 값

  3. 3

    명명 된 기본 매개 변수의 JSDoc Typescript 검사

  4. 4

    명령 줄의 중첩 된 config.yaml 파일에서 구성 매개 변수를 지정하는 Snakemake

  5. 5

    명명 된 매개 변수에서 분할되지 않는 Dapper 다중 매핑

  6. 6

    파괴없이 명명 된 기본 ES6 매개 변수

  7. 7

    kedro run CLI 명령을 사용하여 중첩 된 매개 변수 재정의

  8. 8

    Perl Dancer 및 명명 된 매개 변수와 중첩 된 접두사로 경로 정의

  9. 9

    깊게 중첩 된 개체의 정의되지 않은 변수에 대한 기본값

  10. 10

    셸 기능에서 작동하지 않는 명명 된 매개 변수

  11. 11

    투명 div에 중첩 된 SVG 개체의 불투명도 채우기

  12. 12

    명명 된 bash 함수 매개 변수

  13. 13

    명명 된 매개 변수로 정의 된 함수에 대한 MyPy 유형 힌트이지만 ** kwargs?

  14. 14

    [기본값] new-user.component.ts : 21 : 4의 오류 제공된 매개 변수가 호출 대상의 서명과 일치하지 않습니다.

  15. 15

    명명 된 매개 변수가있는 Couchbase N1QL 기본 선택

  16. 16

    명명 된 매개 변수 'colors'가 정의되지 않았습니다.

  17. 17

    다른 명령에 제공된 매개 변수로 명령 별명 지정

  18. 18

    dart의 개인 명명 된 매개 변수

  19. 19

    명명 된 매개 변수 'child'가 정의되지 않았습니다. 이름을 기존의 명명 된 매개 변수 이름으로 수정 해보십시오.

  20. 20

    명명 된 변수를 사용하여 const rvalue 참조 매개 변수에 대한 기본값을 정의하는 방법은 무엇입니까?

  21. 21

    중첩 된 템플릿 매개 변수 및 유형 추론

  22. 22

    중첩 된 유형 매개 변수의 유형 매개 변수를 파악하는 방법

  23. 23

    정의 된 매개 변수로 중첩 된 정의 C ++

  24. 24

    타이프 스크립트 및 기본값을 사용하여 중첩 된 매개 변수 분해

  25. 25

    중첩 된 자원 ID 매개 변수

  26. 26

    Rails-중첩 된 Strong 매개 변수

  27. 27

    C-명명 된 매개 변수가있는 함수 포인터 유형

  28. 28

    Java : 명명 된 매개 변수와 명명되지 않은 매개 변수의 조합을 실행 가능한 jar / main 메서드에 전달

  29. 29

    "x 값으로 명명 된 매개 변수"가 설정되어 있는지 확인

뜨겁다태그

보관