2018-10-01から1ヶ月間の記事一覧

do...end と {} の違い

do...end と {} の違い 基本的にはどっちを使っても結果は同じ。 違いは、 do...end よりも {} のほうが 結合度が強い どういうことか? 配列のdeleteメソッドの例 a = [1, 2, 3] a.delete(100) => 0 a.delete(100) do 'できない' end => "できない" ブロッ…

ブロックローカル変数

ブロックローカル変数とは? あまり使う機会はない。というか使わないと思う。 だけどもまたRuby勉強し直してて初めて知ったことなのでめも。 ブロック引数を;で区切り、続けて変数を宣言すると、ブロック内でのみ有効な独立した変数を扱うことができる numb…

rake taskで可変長引数を使う

rake taskで可変長引数を使う 約1年間Railsエンジニアやってて初めてrake task書いた。 その時のめも。 to_a メソッドを使う namespace :test_task do desc '可変長引数を受け取るtask' task :hoge, ['huga'] => :environment do |_task, args| p args.to_a …

Ruby勉強し直してみた 3

メソッドの可変長引数 Ruby勉強し直してて普段あんま使ったことないのでめも。 自分で定義するメソッドで可変長引数を使いたければ引数名の手前に*をつける def メソッド名(引数1, 引数2, *可変長引数) # メソッド処理 end みたいに。 例 def test(*name) na…

Ruby勉強し直してみた 2

inject/reduce たたみ込み演算なるもの… 例を見たほうが早い numbers = [1, 2, 3, 4] sum = numbers.inject(0) { |result, n| result + n } ブロックの第一引数(result)には初回のみinjectメソッドの引数が入る。 2回目以降は前回のブロックの戻り値が入る。…