プログラミング学習メモ

RubyとRuby on Rails等

rubyでslackの天気botを作った

投稿間隔が空いてしまいましたが、slackのbotを作ったのでその事について描こうと思います。 汚いコードはこちら github.com 環境 macOS Catalina 10.15.2 ruby 2.6.4p104 (2019-08-28 revision 67798) [x86_64-darwin18] 利用したサービス お天気Webサービ…

Rakeタスクをレビューしてもらった

前回の記事でまとめた情報を元にRakeタスクを作りました。 起動すると、はてなブックマークのランキングをスクレイピングし、タイトルを出力し、記事を選択してブラウザで開くという物です github.com これに対し nokogiriは外部ライブラリなのでGemfileで管…

nokogiriでスクレイピング

今回はいつものドキュメントの焼き直しみたいなのではなく、実際に作ってみたことを書いてみようと思います。 目標 はてなブックマークのテクノロジー部門ランキングをスクレイピングし、タイトルとURLを拾う html取得 まずhtmlを取得してみます。 require '…

同値性と同一性

Rubyでは等しいか比較をする時 基本的にレシーバとなるオブジェクトのクラスにオーバーライド(再定義)された Object#== Object#=== Object#equal? を用います。 それぞれ等しいならtrue、異なるならfalseとなる点は同じですが、判断基準が異なります。 == ==…

論理演算子のショートサーキット

Rubyには以下の論理演算子があります &&, ||, and, or, not, ! &&とandは二項とも真なら真の論理積、 ||とorは二項の片方が真なら真の論理和と呼ばれます。 not,!の論理否定は今回は扱いません。 andとorは&&と||と比べて処理の優先度が低いという違いがあり…

演算子メソッド

以下のような演算子は他の言語でも同じような結果になると思います。 10 + 10 #=> 20 10 * 2 #=> 20 ではこれはどうでしょうか 'dog' + 'cat' #=> "dogcat" 'dog' * 3 #=> "dogdogdog" 上記のように同じ演算子なのに振る舞いが異なるのは、それぞれの演算子…

attr_accessorとは

初めまして、zooと申します。 約2ヶ月前にRubyの勉強を始めた初学者ですが、週一回を目標にRubyを中心にアウトプットしていきたいと思います。 今回はattr_accessorについてです。 Module#attr_accessor Rubyには生成したインスタンスから直接インスタンス変…