줄리아 REPL에서 사용자 정의 함수 설명 ( "독 스트링")을 사용하는 방법은 무엇입니까?


91

사용자 정의 함수 (예 : 또는)를 f사용하여 REPL을 통해 검사 할 때 의미있는 출력을 갖는 방법?fhelp(f)

예를 들어 다음 함수를 작성한다고 상상해보십시오.

function f(x::Float64, y::Float64)
    return 2x - y^2
end

이것을 줄리아 세션에로드하고 시도 help(f)하면 다음을 얻습니다.

julia> help(f)
f (generic function with 1 method)

대신에 다음과 같은 것을보고 싶다면 어떨까요?

julia> help(f)
f

   Compute 2 times x minus y squared

여기서 "Compute 2 times x minus y squared"라는 설명이 어딘가에 기록되어 있습니다. 내 질문에 대한 답은 "설명을 써야하는 곳이 어디에 있습니까?"라는 질문에 대한 답에서 결정될 수 있다고 생각합니다.


예를 들어 파이썬에서 똑같이하고 싶다면 함수를 정의하고 설명을 독 스트링으로 넣을 수 있습니다.

def f(x, y):
    """
    Compute 2 times x minus y squared
    """
    return 2 *  x - y ** 2

입력 help(f)하거나 f?IPython에서 내 설명을 즉시 사용할 수 있습니다 .


11
아직 할 수 없다고 생각합니다. 예를 들면 다음을 참조하십시오. github.com/JuliaLang/julia/issues/3988
ivarne 2011

2
곧 진행될 예정입니다. 토론을 참조하십시오 여기에
spencerlyon2

답변:


56

@docJulia 버전 0.4 (2015 년 10 월) 이상 에서 매크로를 사용할 수 있습니다 .

% julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.0 (2015-10-08 06:20 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-apple-darwin13.4.0

julia> @doc """
       Compute 2 times x minus y squared.
       """ ->
       function f(x::Float64, y::Float64)
           return 2x - y^2
       end
f (generic function with 1 method)

julia> @doc f
  Compute 2 times x minus y squared.

편집 : @Harrison Grodin이 지적했듯이 버전 0.5 이상은 Markdown, LaTEX 및 기타 몇 가지 장점뿐만 아니라 축약 된 구문을 지원합니다.

"""
Calculate the left Riemann sum[^1] approximating ``\int_a^b f(x) dx = F(b) - F(a).``

[^1]: Thomas G., Finney R. (1996), Calculus and Analytic Geometry, Addison Wesley, ISBN 0-201-53174-7
"""
function rs(a, b, d, f)
end

문서에 자세한 내용 이 있습니다 .


30

Julia v0.5 + ( 1.2+와 같은 최신 Julia 버전 포함 )에서는 함수 정의 위에 여러 줄 문자열을 작성할 수 있습니다. ( @doc더 이상 필요 없습니다.)

julia> """
           cube(x)

       Compute the cube of `x`, ``x^3``.

       # Examples
       ```jldoctest
       julia> cube(2)
       8
       ```
       """
       function cube(x)
           x^3
       end
cube

help?> cube
search: Cdouble isexecutable Ac_mul_B Ac_mul_Bc Ac_mul_B! Ac_mul_Bc! cumsum_kbn

  cube(x)

  Compute the cube of x, x^3.

     Examples
    ≡≡≡≡≡≡≡≡≡≡

  julia> cube(2)
  8

독 스트링 형식을 올바르게 지정하는 방법에 대한 자세한 내용은 공식 Julia 문서를 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.