CLOSE

JuliaのDocumentationについて(全1記事)

Juliaのドキュメンテーションの特徴

2018年10月20日、第8回目となるイベント「JuliaTokyo」が開催されました。技術計算を得意とする新しい汎用プログラミング言語であるJulia。その知見と共有しJuliaの普及を促すため、実際にJuliaを用いているエンジニアたちが一堂に会し、自身の事例を語りました。プレゼンテーション「JuliaのDocumentationについて」に登場したのは、ガーシー氏。講演資料はこちら

JuliaのDocumentationについて

ガーシー氏:始めさせていただきます。今回は「JuliaのDocumentationについて」ということで、Jupyter使ってるので、Juliaで無駄にMarkdownを書いてレンダリングしてるスライドになってます。

こんなアイコンでだいたい活動していて、アカウント名はこんな感じです。僕はJuliaを使い始めて1年くらいで、今月名古屋から東京に転勤してきました。

名古屋で「機械学習名古屋」に参加したときに、最初に発表してくださったantimon2さんがJuliaの発表をしていて、「すごいおもしろい言語だ」と思って使い始めました。ふだんはWebの開発をしてます。

みなさんJulia開発するときってドキュメンテーション書いてますか?

(会場挙手)

そんなに……。パッケージを作られるときはたぶん書くものかなと思うんですけど。ドキュメンテーションは、例えばこういう関数を作るときこんなふうに文字列で書くと。

よくヘルプで呼び出すときの内容が吐き出されます。

さっきのコメントのところが、Juliaでドキュメンテーションと呼ばれるものです。例えば「+」のsearchで見てみると、こういう結果が返ってきます。

ここで中身の関数や型がどういうものを表してるのかを説明してくれます。

関数の、いわゆるドキュメンテーションコメントは、もともとコード中にただコメントを書くだけでした。

Juliaのドキュメンテーションでできること

最初Pythonを使い始めて、PythonだとStringっていう概念で、それが文字列として返ってきて使えて、おもしろいと思っていたんですけど。

JuliaはなんとMarkdownで返ってきました。

さっきも「+」で見たときMarkdownでこう返ってきてました。なんかすごくオシャレで見やすい。

ここもMarkdownのドキュメンテーションなんですけど、Fieldsのcontentの中にMarkdownのrawテキストみたいなのが入っています。

ここだとArrayで2-elementって書いてあるんですけど、「+」だとこのドキュメンテーションは2ヶ所。Juliaは多重ディスパッチがあるので、それで複数の定義箇所から持って来てるので2つあります。

変数にも付けられます。変数に定義してドキュメンテーションコメントを書いていると、ヘルプでその変数のときも引いてくることができます。

関数以外にも付けられておもしろいなぁと思いました。

HTMLでも書けます。実際にこういうスクリプトを埋め込んだコメントを書いて、ヘルプを引くと……。まぁアラートが出てしまうんですけど(笑)。

(会場笑)

異質なコメントですね。

HTML全般も書ける

HTMLも全般書けるので、iframeとかも、僕の公式ホームページもレンダリングできます(笑)。

つまりiframe対策をこのWebサイトはしてないということです。

ちゃんとした使い方の例としては、TeXも書けるのでこういう感じでシグモイド関数を定義するときに、元の数式を定義しておきます。

画像もこういう感じで埋め込めるので「それがどういう特性を表しているのか」がけっこう見やすくなります。

ドキュメンテーションを動的に生成することもできます。

こういう数式を定義するような型を作っておいて、そこにgetdocのところで返ってくるドキュメンテーションの定義を置きます。

TeXの数式と実際の関数と画像を渡しておくと、さっきの型でインスタンスを生成したとき、ヘルプでこういうふうに(表示されます)。

いろんな数式を実装するときに使い回すこともできます。

時間になったので、これで終わります。ありがとうございます。

(会場拍手)

続きを読むには会員登録
(無料)が必要です。

会員登録していただくと、すべての記事が制限なく閲覧でき、
著者フォローや記事の保存機能など、便利な機能がご利用いただけます。

無料会員登録

会員の方はこちら

この記事のスピーカー

同じログの記事

コミュニティ情報

Brand Topics

Brand Topics

  • 1年足らずでエンジニアの生産性が10%改善した、AIツールの全社導入 27年間右肩上がりのサイバーエージェントが成長し続ける秘訣

人気の記事

新着イベント

ログミーBusinessに
記事掲載しませんか?

イベント・インタビュー・対談 etc.

“編集しない編集”で、
スピーカーの「意図をそのまま」お届け!