2011年11月27日日曜日

メタプログラミング?

7つの言語 7つの世界のRuby 3日目です。

モジュールについていろいろとありました。

method_missingは使い勝手がよさそう。
色々使えちゃうからどう使うかをよく考えないとかな。


最後の問題のところに関するところは
ちんぷんかんぷんな感じでしたw

頭が固いのか
単純に勉強時間が足りないだけなのか

途中まではmoduleって便利だねーと思っていたのに。

moduleに定義されていないメソッドの呼び出しがあったときとか、
そのmoduleをincludeしているクラス側に定義されていると
そのクラスの方のメソッドが呼び出される。
とかね。

今回ので少し混乱した。
混乱した感想?心境?を書いとこう。
  • moduleがいっぱいあるよ~
    moduleでmethod_missingは使えないのか~
  • moduleの中にclassって定義できるのか?
  • classの中にmoduleって定義できるのか?
  • あ~頭が寝てる~
  • なまってる
  • 体は筋肉痛、頭は脂肪まみれ、アンバランス


けど、一応ある程度は理解したから
今日はここまでで、また寝て起きたら
復習するとしよう。

寝て起きれば、次見た時には
なんだ!全然むずかしくないじゃん!!
っていう不思議な現象を待ちます。

完全にただの感想だけになりましたが、
あとで復習するっていう
宣言にしておきましょう。

復習するぞ!!

ちゃんと理解すること。

2011年11月20日日曜日

オープンクラス

Rubyのオープンクラス


クラスの定義をいつでも変更できる。

class NilClass
  def blank?
    true
    print "NilClass\n"
  end
end

class String
  def blank?
    self.size == 0
    print "String\n"
  end
end

["", "person", nil].each do | element |
  puts element unless element.blank?
end

実行結果

c:\code>ruby blank.rb
String

String
person
NilClass

まず最初の
""
が、Stringクラスなので、
Stringクラスに定義したblank?が呼ばれる。
そして、self.size==0がtrueとなるので、
unlessの左辺は実行されない。
(unlessはifの反対、falseのときに実行される。)

次に、"person"だが、
これもStringなので、Stringクラスのblank?が呼ばれる。
そして、self.size==0がfalseとなるので、
unlessの左辺が実行される。
その結果、personという文字列が表示されている。

最後に、nilだが、
これはNilClassなので、NilClassのblank?が呼ばれる。
そして、これが呼ばれた時には無条件でtrueを返す。
よって、unlessの左辺は実行されない。
よって、表示はNilClassと出力されるだけである。

オープンクラスは便利。

使えるようになっていきたい。


2011年11月19日土曜日

人生を振り返る

最近すごく寒いですね。

鼻水ずびずびです。



さて、今日は”人生を振り返る”ということについて書きます。
23歳の若造がもう振り返るのか!とか言われるかもしれませんね。

人生ってなんでしょう。
人それぞれ価値観が違うので、何をして生きていたいとか違うと思います。

人生というとちょっと大きいので少し小さくして考えていきましょう。

人生=80年くらいですかね。
1年、これも少し大きいですけど、1年の抱負とか考えますよね。
じゃあ3か月、これは考えてない人が多いかな?
1か月、このくらいは考えるでしょう。
1週間、これも予定とかあるから考えざるをえないでしょう。

1日、これって意外と曖昧なんじゃないかと思うのですが
どうでしょう。

会社員の方は1日の大半を働いていると思います。
私も会社員なので、朝7:30に家を出て、帰ってくるのは
21時くらいですかね。
なので、13時間半は会社のために動いているわけです。

残りは10時間半ですね。
ここから睡眠時間と食事の時間、フリーの時間になるわけです。
・睡眠時間は6~7時間くらい
・食事は30分くらい
なので
・フリー時間は3~4時間ですね。
今は仕事が忙しくないのでそこそこフリー時間があります。


平日はまぁ働いているので3~4時間のフリーなので
一旦置いておきます。



休日の時間についてお話しましょう。

理想の休日
って考えたことありますか?

一日フリーだったら?
あなたはどんな風に過ごしたいですか?
どんな風に過ごせたら幸せですか?

理想の休日を考えるにあたって、
どんな行動をするかは人それぞれでいいと思います。

ただ、それが数年後、何十年後、その行動をとっていて
自分が後悔しないかを考えれば、理想の行動へとつながるはずです。

それを念頭に、理想の一日の流れを作ってください。

時間がたっぷりある時はその理想の一日に沿って行動すれば、
後悔しない人生が待っています。

時間がたくさんないときは、理想の一日と比較して、
ここの部分はできるけど、こっちはできない、
と判断して行動を制限すればよいでしょう。

理想の一日の中でも優先度・重要度を作っておくと
スムーズに決まると思います。


理想の一日ができたら、次です。

明日の予定を立てる、です。

もう理想ができたわけですから、それに沿ってあとは
作るだけです。

休みの日に何時間もだらだらと寝ているのは
理想の一日に組み込まれているのでしょうか?
組み込まれているのならそれでいいですが…
(そんな人がいたら何かお勧めしますのでそれを
だまされたと思ってやってみてください。
人生が変わります。)

睡眠時間を6時間とすると、残りは18時間です。
何をしましょうか。

理想が人脈を広げたいのであれば、
外へ出かけて誰かとお話すればいいでしょう。

女の子と遊びたいのであれば、
ナンパして、仲良くなって、遊んで
という流れでいいでしょう。

スキルアップがしたいのであれば、
計画的に勉強を行えばいいでしょう。

好きなことをすればいいわけです。
好きなことをし続けていれば、後悔も少ないでしょう。
(遊んでばっかりで何も考えていないのでは後悔もあるかも)

自分の将来に対しての目標があり、それに向かうのが
苦しくても楽しいのであれば、
それを理想の一日に組み込みましょう。

そうすることで、一日一日、理想へと近付いていきます。

一日くらいだったらその計画通りに行動できるはずです。
それを繰り返していくだけです。

30歳、40歳になってから
今まで何をやっていたんだろう。
とか後悔しないように、楽しく過ごしましょう。

━━━━━━━━━━━━━━━━━━━━━━━━━━
追記:ジョブスがいいこと言ってます。