#author("2022-06-23T05:54:30+00:00","default:src128","src128") #author("2022-06-23T05:54:45+00:00","default:src128","src128") &tag(YARD); *目次 [#w516d8a6] #contents *関連ページ [#pc54e23a] *参考情報 [#y4c11f7a] -[[YARD - A Ruby Documentation Tool:https://yardoc.org/]] -[[YARD cheatsheet:https://gist.github.com/chetan/1827484]] *概要 [#j68b3533] -Rubyのドキュメントツール。 -標準のRubyDoc停滞期に開発された。 -2022/06/20(月)現在RubyDocとYARDどっちが優勢か不明。 -IntelliJ/RubyMineがどっちもに対応しているのでとりあえずYARDに従ってドキュメントかいとくか? *書式 [#rfa637e4] **クラス、モジュール [#uabafe6d] - 1行コメントのみ。@author入れてもいいけど特になくてもいいか。 - モジュール #pre{{ # Namespace for classes and modules that handle serving documentation over HTTP # # @since 0.6.0 }} - クラス #pre{{ # Abstract base class for CLI utilities. Provides some helper methods for # the option parser # # @author Full Name }} **メソッド [#m0edea50] - 1行コメント@paramと@returnがあったらよさげ #pre{{ # An alias to {Parser::SourceParser}'s parsing method # # @option opts [String] :subject The subject # return the object }} *** @example [#pa4acfb3] -@exampleの使用例を使う場合 #pre{{ # Generates Array containing numbers exceeding limit_age. Numbers is # members of ages. # # @example extract ages over 40 # overages = extract_overage([17, 43, 40, 56], 40) # puts("overages: #{overages.join(", ")}") #=> "overages: 43, 56" # # # @param ages [Array] numbers checked if they exceeded from limit_age. # @param limit_age [Integer] limit_age limit used to extract # bigger ages than it. # @return [Array] Returns Array containing numbers exceeding limit_age. def extract_overage(ages, limit_age=20) }} *** @return [#vd366d4b] -参考。 [[YARD - A Ruby Documentation Tool:https://yardoc.org/types]] -複数の値を返す。真偽値と数値という固定長配列を返したい場合 #pre{{ # @return [Array(Boolean, Number)] fixed-size array(vector) of a boolean followed by a number def foo [true_or_false, some_integer] end }} }} -複数のタイプからなる可変長配列を返したい場合 # @return [Array<String, Symbol, #read>] an Array of (Strings, Symbols, objects that respond to #read) *IntelliJ/RubyMineのサポート [#k6e05ac1] -[[コードのドキュメント化 | RubyMine:https://pleiades.io/help/ruby/documenting-source-code.html]] -メソッドをハイライトしてOption+Enterで@paramタグを追加できる。 -Control+Option+Qでレンダリングの切替 -独自の@typeあのエーションを使うこともできる。 #pre{{ # @type [Integer] customer_id = 1 # @type [String] customer_name customer_name = "Andrew Fuller" }}