日記帳

プログラミングのことをつぶやく日記です。

Ruby

Twitterのメンションに反応するRubyスクリプトを書いた

この記事は下記の記事の続きです。 leokun0210.hatenablog.com Twitter botを作成していましたが、メンションに反応するために必要なUser Streams APIが2018年に終わっていました。したがってTwitter APIで実現させなければなりません。そこで今回は自前でメ…

遊戯王OCGのカードを一枚ランダムにツイートさせる

今日の最強カードは『舞い戻った死神』 pic.twitter.com/zbvIWjQFkf— 遊戯王OCG 今日の最強カードbot (@YuGiOh_Draw) June 14, 2022 このようにランダムにカードを画像付きで一枚つぶやくTwitter botをRubyで作成します。コードは以下です。Twitterの投稿部…

irbの履歴を保存する

最近irbで簡単な式を試したりするので、その履歴を保存できるようにする。そうすることによって、どこでirbを呼び出しても後から必要になったときに見ることができる。こういうブログを書くときにも便利。 # .irbrcにhistoryのサイズを指定する vim ~/.irbrc…

最近競技プログラミングしていてよく使う書き方とかメソッドとか

Rubyで競プロを解くときによく使うんだけど、よく忘れるのでメモする 一文字ずつ文字列を処理する chars メソッドを使用すると配列を返す。これを each するだけで一文字ずつ比較などができる。 'abcde'.chars => ["a", "b", "c", "d", "e"] 標準出力を式の…

競技プログラミングを解くときにsplitやchompを削ると実行時間が速くなる

今日、やっとAtCoder Beginners Selectionの問題を全部解き終えた。感想はACになったときにアドレナリンが出るということと、人の解法が勉強になるということだった。 すべての提出 - AtCoder Beginners Selection だいたいこんな感じ、各問題の初回のACは実…

rbenv-each を用いて、 rbenv で管理している Ruby のすべてのバージョンに対して、コマンドを実行する

なぜ行ったのか RubyGemsに脆弱性があるので、rbenv-eachを導入して、まとめてコマンドを実行してみた。 週刊Railsウォッチ(20190311-1/2前編)「Rails Conductor」14年ぶり復活なるか?、RubyGemsに複数の脆弱性、2009年のRailsエコシステムほか リポジト…

【後編】「プロを目指す人のためのRuby入門」(チェリー本)のMinitest部分をRSpecに書き換える

第7章 改札機プログラムの作成 第8章 deep_freezeメソッドの作成 第10章 ワードシンセサイザーの作成 Effectクラス WordSynthクラス 最後に この記事は、下記の記事「【前編】「プロを目指す人のためのRuby入門」(チェリー本)のMinitest部分をRSpecに書き換…

【前編】「プロを目指す人のためのRuby入門」(チェリー本)のMinitest部分をRSpecに書き換える

きっかけ 「プロを目指す人のためのRuby入門」を買いました。評判に違わず素晴らしい本です。しかし、業務ではRSpecを使うのにMinitestのコードを書いても自分のためにならないと思いRSpecで書き換えることにしました。これをみてRSpecの書き方がわからない…

GitHubにpushしたら、CircleCIで自動的にはてなブログに投稿する仕組みを作った。

仕組みは後日解説、とりあえずできて嬉しい!!! https://github.com/yamakawa00/blog

Rubyの標準入出力

入力編 ファイルからの標準入力 改行マークの除去 標準入力を整数型にして、配列に格納する。 データ部分の読み込み ヘッダー部分(最初の1行目)をインスタンス変数に格納して、その後の処理で使いやすくする。 出力編 レシーバのクラスを表示する 2次元配列…