Monthly Archives: May 2008

長風呂最高

 ここ数日、頭痛がひどい。昨年の今頃も頭痛がひどくて、それはドライアイ・目の疲れから来るものだったので、PC・読書等を控えることで、少しずつ良くなっていった。今回の頭痛もまた、目の疲れが絡んでいるように思う。GW中、結構目を酷使してしまったせいかもしれない。読書、DVD鑑賞、ジグソーパズル・・・、辺りをやりすぎたかな。

 そんなひどい頭痛を和らげる方法を見つけた。僕だけかもしれないけど、ぬるめのお風呂にゆっくりつかると頭痛が大分軽くなる。メカニズムはわからないし、ただの気持ちの問題なのかも。いずれにしても、ゆっくりリラックスして、ぼーっとぬるま湯につかる。身体も心も休まっていい気分。最近は、風呂に入るときも雑誌や本を読んだりしていたんだけど、そんなものは持たずに、ただただリラックスするのが、風呂の正しい楽しみ方だと、今更ながら考えた。

ジグソーパズルって

 ジグソーパズル。最後にやったのは、大学生のときだったかな。

 事情があって、ほとんど外出できていない今年のGW。家でDVD鑑賞か、読書か、ってな感じだったけど、昨日ジグソーパズルを買ってきて、奥さんとやっている。久々の、ジグソーパズル。思いのほか、楽しい。

 絵が描いてある部分は簡単ですぐに組みあげる。が、残りの単色系がなかなか大変。地道な作業が続くので、合間に本読んだり、DVD観たり、昼寝したりしながら、コツコツと組み上げていく。まだ完成していないけど、久々のジグソーパズルにどっぷり浸かったGW最終日だった。

PSPが欲しい

んん、欲しくなってきた。

PSP「プレイステーション・ポータブル」 バリュー・パック マット・ブロンズ(PSPJ-20002)
PSP「プレイステーション・ポータブル」 バリュー・パック マット・ブロンズ(PSPJ-20002)

やりたいソフトは、コレね。ゲーム好きの友達がえらくはまっていて、超気になる。

モンスターハンターポータブル 2nd G
モンスターハンターポータブル 2nd G

けど、DSとかWiiのソフトばっかりやってる僕には、何だか難しそうだな。

というわけで、以下を見ながら、もったいぶるとするか。

モンスターハンターポータブル2nd G ルーキーズ・ガイド2G(ツージー)(DVD付) (エンターブレインムック)
モンスターハンターポータブル2nd G ルーキーズ・ガイド2G(ツージー)(DVD付) (エンターブレインムック)

ばかみたいにでかい口内炎が出来ている

 年に数回、こういう時期がある。

 下唇に二つ、上唇に二つ、計四つ、うち一つは馬鹿みたいにでかい。鏡で見ると我ながら、ひく。直径1cm近いってのは、どういうことだ。

 以前に、はてなハイクに以下のようなエントリーを書いてるくせに、だ。ああ。

子どもの頃から、一年で口内炎がない日のほうが少ないっていう日々を送ってきているほど、口内炎とは長くて深い付き合い。そんな日々から学んだこと。

  1. まずは規則正しい生活を。バランスよく食べて、よく眠ること。生活バランスが崩れると口内炎は出来やすく、そして治りにくい。
  2. 口の中はいつも清潔に。毎食後の歯磨きは当たり前。コーヒー飲んだあとも、うがいする。
  3. それでも出来てしまったら、口内炎が小さいうち(ほとんどあるかないか分からないくらいのとき)にケナログを塗る。寝る前のほうが効果は高いけど、とにかく違和感を感じたら、口の中を洗浄(うがい)して即塗る。そして寝る前に口の中をきれいにしてからもう一度塗る。
  4. もし、それでも出来た口内炎がでかくなってしまったら、アフタッチ。あとは我慢。口の中を清潔に保つことも忘れずに。口内炎がでかくなってしまうときっていうのは、体調が悪かったり疲れてたりするときが多いので、アフタッチ貼って、何はさておきたっぷり寝る。

(補足)

母も口内炎持ちなんだけど、母曰く、口内炎には納豆が効くらしい。子どもの頃にそれを教わって以来、口内炎が出来たら納豆を食べるのが習慣になっているけど、確かに効いてるような気がしないでもない。

口内炎を治す方法 – heydays – はてなハイク

 はあ、それにしても、痛い。多少の痛み止めを期待して、バファリン飲んで、もう寝るだよ。

A Few Things to Try on 5. More About Methods

 Rubyでプログラミング勉強中(参照)。

 今日は、Chapter 5. More About Methods(参照)でMethodの基礎を学ぶ。ObjectとMethodについての理解がちょっとだけ深まった。以下のくだりが個人的には非常に分かりやすかったかな。

So far we’ve seen a number of different methods, puts and gets and so on (Pop Quiz: List all of the methods we have seen so far! There are ten of them; the answer is below.), but we haven’t really talked about what methods are. We know what they do, but we don’t know what they are.

But really, that is what they are: things that do stuff. If objects (like strings, integers, and floats) are the nouns in the Ruby language, then methods are like the verbs. And, just like in English, you can’t have a verb without a noun to do the verb. For example, ticking isn’t something that just happens; a clock (or a watch or something) has to do it. In English we would say, “The clock ticks.” In Ruby we would say clock.tick (assuming that clock was a Ruby object, of course). Programmers might say we were “calling clock’s tick method,” or that we “called tick on clock.”

5. More About Methods

 というわけで、以下、このChapterの練習問題記録。

A Few Things to Try on 5. More About Methods

一問目

• Write an Angry Boss program. It should rudely ask what you want. Whatever you answer, the Angry Boss should yell it back to you, and then fire you. For example, if you type in I want a raise., it should yell back WHADDAYA MEAN “I WANT A RAISE.”?!? YOU’RE FIRED!!

5. More About Methods

これは、簡単やね。別にupcase methodを使う必要もないのだけど、ObjectとMethodの理解を深めるために蛇足と知りつつ、使ってみた。

puts 'I said..'
iSay = gets.chomp
puts 'Whaddaya mean '.upcase + '"' + iSay.upcase + '"?!? ' + 'You\'re fired!!'.upcase

二問目

• So here’s something for you to do in order to play around more with center, ljust, and rjust: Write a program which will display a Table of Contents so that it looks like this:

5. More About Methods

Table of Contents
Chapter 1:  Numbers                        page 1
Chapter 2:  Letters                       page 72
Chapter 3:  Variables                    page 118

これも、このChapterをきちんと読めば楽勝。

lineWidth = 50
puts ''
puts 'Table of Contents'.center (lineWidth)
puts ''
puts 'Chapter 1:  Numbers  '.ljust (lineWidth/2) + '  page 1'.rjust (lineWidth/2)
puts 'Chapter 2:  Letters  '.ljust (lineWidth/2) + ' page 72'.rjust (lineWidth/2)
puts 'Chapter 3:  Variables'.ljust (lineWidth/2) + 'page 181'.rjust (lineWidth/2)

雑感

 このChapter 5. More About Methodsまでで、基本の基本の基本部分を終えたという感じ。次回は、Flow Control(制御構造)。if文とかwhile文が登場して、さらに楽しくなっていきそう。

See also

ハラペコアオムシ(The Very Hungry Catarpillar)は子どもの心を掴んだ

前回の 子ども英語レッスンで、有名なこの絵本を使った。これまでに導入したいくつかの単語が登場するということもあり、子ども達も楽しんでいる様子だった。

この絵本の見所である「月曜にリンゴを一つ食べて、火曜日に洋ナシを二つ食べて・・・」というところを理解してより楽しめるように、曜日を導入してから、読み聞かせを行う。こういうときの子ども達の吸収の早さには、いつも驚くばかり。

全体的に楽しい雰囲気で、しかも曜日やその他の単語の導入も比較的うまくいったように思う。課題は、絵本を読み聞かせたあと、その内容をもとにどんなゲームやアクティビティを行うと、子ども達がもっと楽しめて物語を理解して、かつ出てきた単語を定着できるようになるか、ということ。今回は、「クイズをやるよ」といって、「月曜日には何を食べた?」とか、「洋ナシは何個食べた?」とか、そういったことを行ったが、途中から「こんなのクイズじゃないよー」と大不評だった。確かに、クイズとは言えない、かなあ。ただの内容確認になってしまったな・・・。考えものだ。

今度、絵本読み聞かせを行うときは、もっと工夫しよう。

A Few Things to Try on 4. Mixing It Up

 Rubyでプログラミング勉強中(参照)。

 NumbersLettersVariables and Assignmentと学び、それらをMix Upした内容が、Chapter 4. Mixing It Up。まだまだ基本中の基本中の基本の段階です。以下、この章の練習問題記録。

A Few Things to Try on 4. Mixing It Up

一問目

Write a program which asks for a person’s first name, then middle, then last. Finally, it should greet the person using their full name.

4. Mixing It Up

小細工せず、素直に書く。

puts 'What\'s your first name?'
fName = gets.chomp
puts 'My first name is ' + fName + '.'
puts ''
puts 'What\'s your middle name?'
mName = gets.chomp
puts 'My middle name is ' + mName + '.'
puts ''
puts 'And what\'s your last name?'
lName = gets.chomp
puts 'My last name is ' + lName + '.'
puts ''
puts 'Thank you, nice to meet you, ' + 'Mr./Ms. ' + fName + ' ' + mName + ' ' + lName + '.'

二問目

Write a program which asks for a person’s favorite number. Have your program add one to the number, then suggest the result as a bigger and better favorite number. (Do be tactful about it, though.)

4. Mixing It Up

これも素直に書く。

puts 'What is your faivorite number?'
fNum = gets.chomp
puts 'My faivorite number is ' + fNum + '.'
puts ''
puts 'Hmmm, I think that ' + (fNum.to_i + 1).to_s + ' is more suitable number for you.'

雑感

 先にも書いたけど、まだまだ基本中の基本中の基本の段階。つまずく要素も全くなし。それでも結構楽しい。

See also

A Few Things to Try on 1. Numbers

 30過ぎて始めたプログラムの勉強(参照)の先生&テキストであるLearn to Programには、いくつかのチャプターの最後に『A Few Things to Try』(練習問題)が用意されている。ただチュートリアルを読むだけではなく、実際に頭を使ってコードを書くのは、それが身につくだけではなく、なかなかに楽しい。

 ただ、その『A Few Things to Try』(練習問題)には回答が用意されていない。コードを書いて実行した結果を見て、その結果が合っていることは分かるとしても、そのコードがシンプルに正しく、言い換えれば美しく書かれているのか、というのは正直分からない。なので、ここに晒してみることにした。もしかしたら、誰かの突込みをもらえるかもしれないし、後になって自分で見て、恥ずかしくも微笑ましい気持ちになれるかもしれない。

 というわけで、Chapter 1. Numbersの『A Few Things to Try』のMy回答。

A Few Things to Try on 1. Numbers

Write a program which tells you:

  • how many hours are in a year?
  • how many minutes are in a decade?
  • how many seconds old are you?
  • how many chocolates do you hope to eat in your life?
    Warning: This part of the program could take a while to compute!

Here’s a tougher question:

  • If I am 1001 million seconds old, how old am I?

1. Numbers

How many hours are in a year?

簡単簡単。

puts 24 * 365

How many minutes are in a decade?

これも簡単。

puts 60 * 24 * 365 * 10

How many seconds old are you?

こんな感じで。

puts 60 * 60 * 24 * 365 * 32

If I am 1001 million seconds old, how old am I?

むむむ。こんな感じか。

puts 1001000000 / (60 * 60 * 24 * 365)

See also