openlang

APL 함수에서 결과 반환하기

함수 실행이 끝나면 어떤 값을 반환하게 하려면 어떻게 하나요?

예를 들어 이런 것이 있습니다:

ROUTINE N

? N ⍴ 12

//이것은 1부터 12까지의 난수 N개를 만듭니다 (N은 함수의 인수입니다).

함수의 결과를 돌려받고, 예를 들어 그 결과를 다른 함수에 넘기는 방법을 알고 싶습니다.

도움 주시면 감사하겠습니다!

영어에서 번역원문 보기

이어지는 대화 2

서로의 근거를 따라
  1. 고유 링크

    함수 헤더 (번호가 0인 줄)에서 지정하면 됩니다.

    문법은 다음과 같습니다:

    answer ← lhs calculate rhs ; local_names

    그러면 함수 실행이 끝날 때 answer에 저장된 값을 반환합니다.

    영어에서 번역원문 보기
  2. 고유 링크

    APL 구현에서 지원한다면 직접 정의 (dfns 또는 람다)를 쓰는 방법도 있어요. Dyalog와 GNU, 그리고 NARS2000과 NGN APL에서 동작할 거예요.

    이걸 실행해 보세요

    {?⍵⍴12} 36

    인수는 ⍵로 나타냅니다 (질문의 N입니다)

    표현식의 결과가 반환값이 되므로 반환을 명시적으로 선언하지 않아도 됩니다.

    또 다른 방법은

    calculate←{?⍵⍴12}

    그다음에

    calculate 36
    영어에서 번역원문 보기

같은 질문의 다른 갈래

  1. Godot 3.3의 GDScript에서 일일이 나열하지 않고 enum 항목을 무작위로 고르기?

    GDScript에서 enum을 이렇게 선언했어요: 가능한 모든 변형을 나열하지 않고 enum 변형을 무작위로 고르고 싶어요. 나중에 변형을 더 추가해도 무작위로 선택하는 코드를 수정하지 않도록요. 이런 방법을 시도해 봤어요:…

    답글 2최근 활동 gdscript
  2. Nim 나머지 연산 문법

    Nim에서는 나머지를 어떻게 표현하나요? cell % 7 == 0를 쓰면 undeclared identifier: '%'가 나옵니다 Google로 검색해도 SO를 찾아봐도 답을 찾지 못했습니다.

    답글 2최근 활동 nim
  3. 상수 문자열을 담는 배열을 선언하는 방법

    Delphi에서 아래 예시 같은 방식으로 문자열 배열을 선언할 수 있을까요?

    답글 4최근 활동 object-pascal