旅行中に4本日本酒を買ったけれど,洋酒は別枠ですよね.ということで近所の業務スーパーで洋酒を購入.
以下購入した酒リスト
- アブソルートウォッカ
- ズブロッカ
- ディサローノアマレット
アブソルートウォッカは空になったスミノフウォッカの代わりに購入.
ズブロッカはウォッカにズブロッカ草(バイソングラス)を漬けたもの.実は飲んだことがなかったので購入.
ディサローノアマレットは有名なブランドのアマレット(イタリアのリキュール)だそうだ.カクテルレシピでちょくちょく見かけたような気がするので購入.
青春18切符の恩恵を受けて1泊2日で伊勢神宮に参拝してきた.無論一人で.
出発は20日朝.東海道線でひたすら西へ.片道8時間かかった.
伊勢市駅到着後に伊勢神宮の外宮周辺を巡り,頃合いを見計らって予約した宿のある二見浦駅へ.夫婦岩を(一人で)眺めた後,夕食をとって宿泊する旅館朝日館へたどり着く.
旅館の人にひとこと尋ねると驚愕の返答が.曰く,旅館周辺には居酒屋の類が存在しない.
仕方なく旅館の売店でビールを買って部屋でちびちびと(一人で)飲むことにした.
翌日は旅館で朝食を(一人で)取ってから出発し,伊勢神宮の内宮へ向かう.降車駅を間違えたため,そこからひたすら歩くことにした.
内宮周辺は結構人がいてびっくり.年配の方や小さい子供を連れた家族連れが多かったように思うが,学生やカポーの姿もそれなりに見られた.けど俺は一人.
内宮参拝後はすぐに伊勢市駅に向かい帰路に帰路に着く.帰宅したのは夜中の1時頃だった.
振り返ってみると,移動時間ばかりであまり余裕を持って観光をしていないけど,初青春18切符かつ初泊まりの一人旅かつ初伊勢神宮な旅行だったので楽しかった.次は酒造の神でもある木花咲耶姫命を祭る浅間神社に行こう.
以下参拝した神社
以下購入した酒リスト
前回のPythonは2.5だった.3に移ろう. 2.5から3に移ると,前回のコード内ではprintとhash_keyあたりが動かないと思われ.
ということで本日の酒.
最近自分で触れて遊ぶのはCommonLispが9割,Cが1割な気がするが,他の言語に触らないのもよろしくないと思うのでPythonで遊んでみた.
Hello,World -> FizzBuzz -> Brainfuck という順で,勉強がてら適当に書いてみた.
以下ソースコード
# Hello,WorldHello,Worldでは入力を使わないので,Brainfuckの入力のところは適当.文字型はなさそうで,文字列->文字コード(のリスト?)な関数があるのだろうけど,ぱっと見つからないので無視してしまいましたとさ.
print "Hello,World"
# FizzBuzz
# forはリストの要素に対して用いる.
for i in range(1, 100):
if (i % 15) == 0:
print "FizzBuzz"
elif (i % 5) == 0:
print "Buzz"
elif (i % 3) == 0:
print "Fizz"
else:
print i
# Brainfuck
# printの末尾に,を付けると改行の代わりに空白を出力するらしいが,
# これを回避するためにsys.stdout.writeを用れば良いようだ
import sys
# Wikipediaで拾ってきたBrainfuckのHello,World
program_array = "+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.------------.<++++++++.--------.+++.------.--------.>+."
def run_bf (pg):
l = len(pg)
ptr = 0
pc = 0
mem = {}
labels = []
while pc < l:
c = pg[pc]
if c == '>':
ptr = ptr + 1
elif c == '<':
ptr = ptr - 1
elif c == '+':
if not mem.has_key(ptr):
mem[ptr] = 0
mem[ptr] = mem[ptr] + 1
elif c == '-':
if not mem.has_key(ptr):
mem[ptr] = 0
mem[ptr] = mem[ptr] - 1
elif c == '.':
if not mem.has_key(ptr):
mem[ptr] = 0
sys.stdout.write('%c' % mem[ptr])
elif c == ',':
mem[ptr] = input() # fixme
elif c == '[':
if mem[ptr] == 0:
tmp_l = []
pc = pc + 1
while (pg[pc] != ']') or tmp_l:
if pg[pc] == ']':
tmp_l.pop()
elif pg[pc] == '[':
tmp_l.append(pc)
pc = pc + 1
else:
labels.append(pc)
elif c == ']':
if mem[ptr] != 0:
pc = labels[-1]
else:
print "no reach"
pc = pc + 1
Pythonらしい書き方,というものはまだ全く分からないが,制御構造をなんとなく使える程度にはなったのかなぁ.
本日の酒
#<CHUNGA:CHUNKED-IO-STREAM {CAB3529}> fell through ETYPECASE expression.だそうだ.
Wanted one of (SB-KERNEL:ANSI-STREAM
SB-SIMPLE-STREAMS:SIMPLE-STREAM).
[Condition of type SB-KERNEL:CASE-FAILURE]
環境はSBCL1.0.23 drakma:http-requestで,送信後にストリームを読むとこでエラーが出てるっぽい.ストリームや文字コードについてのライブラリは自発的に使ったことがなかったので, drakmaでchungaとかflexi-streamsとかを使っていても何をしているのかがよくわからない. file-positionを呼んだときにETYPECASEうんぬんといわれるので,引数として渡しているストリームが悪いのかなぁとか浅知恵を巡らせてみるが,もともとhttp-requestを呼んでるだけだし,ほかの個所のhttp-requestはうまくいってる.自己解決できるスペックがほしいです.
デバッガ様のお告げ
#<CHUNGA:CHUNKED-IO-STREAM {E8A9A39}> fell through ETYPECASE expression.
Wanted one of (SB-KERNEL:ANSI-STREAM
SB-SIMPLE-STREAMS:SIMPLE-STREAM).
[Condition of type SB-KERNEL:CASE-FAILURE]" nil)