雑草SEの備忘録

[旧:東大卒SEの備忘録]東大を卒業し、SEとして働くことになった。備忘録的に作業を綴る。

Ruby

unless A && Bを使っても読める場合

以前 unless A && B は辞めたいという記事を書きました。 normalse.hatenablog.jp しかし、その後、場合によっては使用しても良いという意見になりましたので、追記します。 「場合」というのは、guard節を使うとき。 def hoge return unless A && B somethi…

rubyで再帰

先日、関数型の初心者の勉強会に参加してきました。 私は、もともと情報系の学科を卒業したわけではないので、アルゴリズムや関数型の考え方は全くの初心者です。なので、再帰の考え方に慣れるのにとても大変でした。まだ慣れているとは言えないレベルですが…

「オブジェクト指向設計実践ガイド」を読んだ感想

オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方 posted with ヨメレバ Sandi Metz 技術評論社 2016-09-02 Amazon 9月2日に発売になったSandi Metz著の「Practical Object-Oriented Design in Ruby: An Agile P…

Rubyのインスタンス変数の直接参照について

会社で議論になり、未だに私の中で決着がついていない問題を取り上げてみます。 Rubyのインスタンス変数を直接参照することについてです。 例えば、コンストラクタでインスタンス変数を設定します。 そして、インスタンスメソッドでそのインスタンス変数を直…

ruby 1.9系のラムダ記法

今時rubyの1.9系を使っている人なんていないと思いますが、私は仕事の都合上、1.9系を使うときがあります。 しかも、同じリポジトリでサーバーによってrubyのバージョンが2.1系だったり、1.9系だったりするので厄介です。今回、仕事でrubyのラムダ記法で2系…

unless A && Bを止めたい

タイトルの通りである。unless A && Bはわかりにくい。例えばRuby on Railsで開発している時。 array1 = ["text1", "text2"] array2 = [] という二つの配列があったとする。 puts "TEST1" unless array1.present? && array2.present? #1 puts "TEST2" unless…

Ruby on Rails初心者が一歩進むために~2~

タイトルの通り。Ruby on Railsを勉強していてこの使い方知ってるとだいぶ幅が広がるなというのがあったので、メモ。今回は、reduceです。エイリアスでinjectというのもあって、両者は同じ挙動をします。 1.reduce, inject http://ref.xaio.jp/ruby/classe…

The Philosophy of Rubyを読んでみた。

Rubyを使い始めて4か月目に入りました。Rubyを勉強していくうちに2003年に行われたRubyの生みの親であるまつもとゆきひろ氏のインタビュー記事があり、日本語訳が見当たらなかったので、勉強がてら和訳してみました。 以下、長いですが、引用です。 Rubyの…

Ruby on Rails初心者が一歩進むために~1~

タイトルの通り。Ruby on Railsを勉強していてこの使い方知ってるとだいぶ幅が広がるなというのがあったので、メモ。今回は、define_methodとdefine_singleton_methodです。キーワードはメソッドの動的生成。 1.define_method define_method (Module) - Ru…