2021-09-05から1日間の記事一覧

【Ruby】引数の* アスタリスクって、 Nan - Nan ?

たまに見かける* や *hoge、** の意味について調べました。 めっちゃ簡単に纏めると def (a, *b) 複数の引数をまとめて配列として受け取ることができます。 def (a , *) 受け取った引数を無視する def (a, ** ) 複数の引数をhashにする。 可変長引数のケース…

ハッシュで値を管理することで合計値や最大値をわかりやすく取得する

前提: data配列に、キーblocksにて格納していた値を取り出して、 Array#sum 渡すことで合計値のtotalを算出している。 block_total = a_data.sum { |data| data[:blocks] } total = "total #{block_total}" またハッシュへの格納方法については下記の様にも…

【Ruby】RBSって、Nan - Nan ?

オーバーロードの質問時にメンターの方から教えてもらった。 Rubyの特徴の型に縛られない自由さ、と相反する様な型チェックのための仕組み。 正直完成されているので、記事の案内に留めようと思います。。 実際に手で動かして理解できる記事です。ありがたい…

【Ruby】デフォルト引数やキーワード引数って、 Nan - Nan ?

デフォルト引数やキーワード引数について調べたことを取りまとめました。 デフォルト引数: キーワード引数 デフォルト引数: def foo(bar, baz = 'World', qux = '!!!') p "#{bar}、#{baz + qux}" end # 実引数を省略した場合デフォルト値が代入される foo(…

【Ruby】ダックタイピングって、Nan - Nan ?

ダックタイピングとは? "If it walks like a duck and quacks like a duck, it must be a duck"(もしもそれがアヒルのように歩き、アヒルのように鳴くのなら、それはアヒルに違いない) 意訳 「オブジェクトがアヒルのように歩き、アヒルのように鳴くメソ…

Rubyでのオーバーメソッドについて

はじめに Javaにはオーバーメソッドという機能があります。 詳しくは、割愛します。リンクを参照。 5.1 オーバーロードについて | |神田ITスクール 疑問 プラクティス中に複数の引数があるメソッドをコーディング中に疑問が湧きまして、 型制限に厳密でない…