タグ

argvに関するhachiのブックマーク (2)

  • Rubyのパラメータと引数の対応付けを理解する(後編)|TechRacho by BPS株式会社

    上の引数をそのまま使ったメソッド呼び出し例を次に示します。 foo 1, *array, 2, c: 3, "d" => 4, **hash 演算子の優先順位に注意すれば、v、v1、v2にはほぼどんな式でも代入できます。 ところで次をご覧ください。無効な組み合わせももちろんありますが、パラメータと引数の種類の組み合わせの多さはやばいです。 そしてsplatやダブルsplatがパラメータ側だけでなく引数側にもある点にご注意ください(ただし機能は異なります)。このあたりから不安になってきますね。ともあれ、各引数について解説します。 1. 通常の引数 ここで言う通常の引数には、以下を含めるものとします。いずれも引数の個数としては1個になります。 変数としての引数(vなど) 文字列リテラル("hello"など) 配列リテラル([1, 2, 3]など) パラメータ側を必須パラメータ1つに限った場合(

    Rubyのパラメータと引数の対応付けを理解する(後編)|TechRacho by BPS株式会社
  • Rubyのパラメータと引数の対応付けを理解する(前編)|TechRacho by BPS株式会社

    配列分解(array decomposition)とpost-requiredは、元記事著者独自の呼び方のようです。 上のパラメータをすべて使った例は以下のようになります。 def foo a, b = 2, *c, d, e:, f: 7, **g, &blk; end パラメータの説明 注意: 元記事で使われているパラメータの種類は、パラメータを修飾する記号の書式だけでは決まりません。元記事におけるパラメータの種類は、「パラメータを修飾する記号」、「パラメータが置かれる位置(順序)」、「パラメータにどんな引数が渡されるか」を総合したものです。 たとえば「記号が何もついていないから必須パラメータ」とは限らず、パラメータの配置に応じてpost-requiredパラメータと呼んでいます。 3.の配列分解はパラメータの書式ではなくパラメータの動作と理解するのがよいでしょう。 1. 必須 必須パ

    Rubyのパラメータと引数の対応付けを理解する(前編)|TechRacho by BPS株式会社
  • 1