茶漬けと玉子焼き

swiftとrubyの教室

ファイル内の比較にはcommが便利

2つのファイルの中身を比較したいときがあったのですが、 commコマンドなるものがあるらしいので、メモ。

続きを読む

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

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


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

続きを読む

Ruby の define_method メソッドで動的にメソッドを定義できる!?

Rubydefine_method で動的にメソッドを定義できるのです。

define_method を使ったことがない人からすれば、
は?
だと思うので、例をば

続きを読む

Ruby のメソッドオブジェクトとは?

メソッドオブジェクトって、あれなんだっけ?
となったのでメモっておきます。


一言で言えばメソッドオブジェクトとは、
メソッドをオブジェクトのように扱えるようにしたものです。


そのまんますぎ、
なので、
ちょっと例を書いてみます。

続きを読む

Ruby のカリー化

カリー化とは


調べてみると、


カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること(あるいはその関数のこと)である。


ん?

続きを読む