茶漬けの技術メモ

Golang, Rubyで趣味開発します。テックニュース書いたり。ガジェット触ったり。

Rubyで日付・時刻の範囲検索

指定の時間範囲内の記録を読み出したい場合
(例えば今日中で登録したユーザーを探したい)

よくある書き方

User.where(“updated_at BETWEEN ? AND ?”, beginning_of_day, end_of_day)
続きを読む

Ruby の文字列型と日付型の変換方法

文字列型から日付型への変換

Dateのstrptimeメソッドを使う方法

Date.strptime('2017-09-03', '%Y-%m-%d')                                                                               
=> Sun, 03 Sep 2017

年が西暦の下二桁の場合

Date.strptime('17-09-03', '%y-%m-%d')                                                                                 
=> Sun, 03 Sep 2017

Yを小文字にする必要があります。

to_date を使う方法

続きを読む

Swiftで半角英数字の判定


Stringで半角英数字かどうか判定したい場合
まずはStringを拡張(extension)する

extension String {
 func isAlphanumeric() -> Bool {
   return NSPredicate(format: “SELF MATCHES %@“, “[a-zA-Z0-9]+“).evaluate(with: self)
 }
}


使ってみる。

let strings:[String] = [“あいうえお“, “iceColdNakuNaku486”, “983-+?“]
for str in strings {
     if str.isAlphanumeric() {
       print("半角英数字だよ")
     } else {
       print("半角英数字じゃないんかい")
     }
   }


実行結果

半角英数字じゃないんかい
半角英数字だよ
半角英数字じゃないんかい

Ruby のキーワード引数とは

Ruby のキーワード引数について、

キーワード引数とは

  • Ruby2.0から導入された
  • 引数のデフォルト値を設定できる
  • 引数を渡す順番を気にしなくてよい

などの特徴があります
では簡単な例を


デフォルトとは違う値を入れた場合

def test(a, b:2, c:3)
  p a + b + c
end
test(1, b:2, c:4)  # => 7

指定した引数がしっかり渡されています。


引数を指定しなかった場合

続きを読む