2022-09-29 Ruby Hash の比較 / crontab 書式
Ruby Hash の比較
Ruby の Hash は 順序が保たれる。
関連記事. 2022-09-28 データ構造: Hash Table / Ruby で Hash | TTIL
しかし ==
で比較すると順序が違っても同一Hashとみなされる。
{a:1, b:2} == {b:2, a:1} #=> true
rspec でも同様に下記のテストは通ってしまう。
expect({ a: 1, b: 2 }).to eq({ b: 2, a: 1 })
順序を検証したければ Array に変換する
じゃあ順序も含めて検証したい場合はどうするか? 一旦 Array に変換した上で比較を行うと順序も含めて検証できる。
{ a: 1, b: 2 }.to_a == { b: 2, a: 1 }.to_a #=> false
ref. RSpecの contain_exactly
相当でハッシュを検証する方法に悩んでしまった話 - Qiita
crontab 書式
一生覚えられない cron 書式はサービスを利用していきたい。
Crontab.guru - The cron schedule expression generator
Cron の書式、永遠に覚えられないのでこういうサイトで解析している » https://t.co/EMvbJBIOUv - The cron schedule expression editor https://t.co/CODqv3j7AG
— toshimaru (@toshimaru_e) September 29, 2022