(ゝω・)v今日はrubyでCLI(CUI)、つまりコンソール上で操作するためのUIを簡単に実装できるgemのTTYについて紹介しよう。同様のことをしてくれるgemは他にもcursesやthorなどがあるがTTYは最も様々な機能が充実している。表示する文字列の装飾(前景色/背景色/bold...)テーブル表示(mysqlのコンソール出力のような)などなど。(ゝω・)vところでそういったバッチやスクリプトはみんなの好意によって公開してもらっているけど、その大半は走り書きで実際に業務で書くような書き方ではないよね。今日は簡単なバッチを、少し丁寧に書いてみたい。業務レベルではない趣味エンジニアの参考になれば嬉しい。今回書くのは本当にとっても簡単なバッチだ。見たいよね!そこで猫の画像urlをAPIで取得してslackの特定チャンネルへ投稿する。(ゝω・)v今日は私用チームに作ったSlackボットについて解説させてくれ。その名もRubyEvalBot、名前の通りSlackへrubyのスニペットが投稿された際にそれを(ほぼ)安全に評価して標準出力を答えてくれる便利な奴だ。それをやってくれるんだ。はい、GitHubはこっちだよー。こんなコードを実行してみよう。これはどういうことだろう。変数animalは変数catをコピーして新しく作ったのに、animalの中身が変更されるとcatまで変わってしまった!説明しよう。変数はデータを入れる箱だとか説明される。聞いたことがあるよね。それはわかりやすくした例えた、少し不正確だし概念だけの話だ。前回はクラスとインスタンスの話をした。クラスがメソッドという振る舞いの情報を持ち、インスタンスが状態の情報を持つというのが要点だ。今回の話題は「継承」について。オブジェクト指向プログラミングでは非常に重要な概念となる。継承がコードの再利用をしやすくするからだ。継承とは一体なんなのか。言われる説明では既存のクラスを元にして構造や振る舞いを共有した別のクラスを作るということだ。ここでは、ちょっと違う表現もしてみよう。継承とは、あるクラスが持つ振る舞いの情報を別のクラスから参照することだとも言える。(ややこしくなるから詳しい話は...記事を読む‹123456。