Scalaを見習ったClass定義
Ruby ではクラス定義をこう書く:
class User attr_accessor :name, :password def initialize(name, password) @name = name @password = password end end
なげぇ。
一方、Scala ではこう書く:
class User(var name:String, var password:String);
短い。うらやましい。
Ruby でこう書けたらいんじゃね?:
class User(:name, :password) end
initialize を省略できるとか。大体なげぇーんだよ、initialize って。即代入じゃない時に追加の処理を書けるぐらいでいんじゃね?
password を private にしたかったらこうとか:
class User(:name, :password) attr_private :password end
秘匿したい時にはじめて制限する方法で。
え? Struct 使え?
Struct.new("User", :name, :password) user = Struct::User.new("hoge", "fuga")
フヒヒwサーセンwww
Open Class だからメソッドも足せるしねー