blog/content/post/2010/01/17/2010-01-17-00001311.md

3.5 KiB
Raw Blame History

title author date wordtwit_post_info categories
Scheme Code batonに参加しました kazu634 2010-01-17
O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:5065;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}
scheme

id:higeponさん発案のSchemeコードバトンに参加していました。リンクはここです:

変更点

今回私が変更した部分はここです:

毎日使っていて単語量が増えたので誤り回数が多い物順に出題する事にした。

英単語覚えるスクリプト ひげぽん OSとか作っちゃうかMona-

直感的に、

  • 誤り回数順だと「覚えてたけど忘れてしまった」ケースの出題順が後ろに来てしまう。どれだけ正解していても、直前に間違えていたらその単語を覚えられていないことになるはず。そうしたものこそ優先的に出題してほしい。
  • 最後に間違えた日付がわかると、何かと便利なはず

というわけで出題順を「最後に間違えた日付」を考慮したものに変更を加えてみました(シュワルツ変換の部分を変更)。この変更を加えたおかげで、辞書ファイルの先頭には

  1. 最後に間違えた日付が古く
  2. (間違えた回数 正解した回数)が少ない順番

に並ぶことになりました。辞書ファイルをメンテナンスをする(英単語が定着した)場合に、ファイルの先頭から順番に削除すればメンテナンスできることになりました。

勉強になった部分

私は高階関数まではなんとかわかるけれど、マクロ・継続についてはわかっていない感じです。でも、今回参加させていただくことで、Lispでプログラムを組むことがどういうものなのか実地で勉強になりました。特に勉強になった部分は下記です:

  • Schemeで日付を扱う方法を覚えた
  • シュワルツ変換を覚えた
  • Schemeでデータを扱う方法というものが理解できたやっぱり何でもリストなんですね

次は

次は誰?