彼等と共に生きようと思うなら、この悲しみは避けることはできない。 彼等に与えられた時間は、我々に比べてあまりに短かいのだから。 それでも我々は彼等を求めるのをやめることができない。 なら、せめてその時は、少しでも心安らかに旅立てるようにしてあげたいと、常に願う。
十五年ほど前の話。 彼が最期の夜を迎えたとき、私はサインを見逃してしまった。 後から思い起こしてみれば、たしかにそれはあったのだ。 いつもより荒い呼吸、何か言いたげにこちらを見る眼差し、どれも普段とは違っていた。 だが私はそれに気付かず、翌朝彼は家族の誰も立ち会うことのできないまま息を引き取っていた。
彼は安らかに逝けたのだろうか。 誰にも見守られていないことに孤独を感じてはいなかっただろうか。 朝まで付いていてあげれば良かった。 いや、付いていたかった。 あるいはそれが彼にとって何の意味も無いことであったとしても。
その後悔の念が今でも残っている。
そして昨晩、彼女がまた最期の夜を迎えた。 一月半前に余命幾許も無いことは宣告されている。 もう何日も食事を摂っておらず水しか口にしていない。 その時が近付いているのは明らかだった。
もうしばらく声など出していなかった彼女が大きく切ない鳴き声を上げた。 息も荒く、辛そうにしているのがわかる。 いよいよその時が来たのか、そう思った。 しばらくなでてあげていると起き上がろうというそぶりを見せたので寝返りを打たせてあげた。 もう自分で寝返りを打つことすらできないほど衰弱しているのだ。 しかしその後、下の世話などもした頃には荒かった呼吸もすっかり落ち着き平静に戻っていた。 そこで私はミスをした。 「ああ、おしっこが溜まってて苦しかったんだな」 そう思ってしまったのだ。
どちらとも取れる選択肢が与えられた場合、人は往々にして自分にとって都合の良い方を選んでしまう。 私は、「彼女はまだ大丈夫。まだ最期じゃない」そう思った。 それが私の望んでいる選択肢だったから。 そしてまた後悔を残すことになった。
彼女は今朝、私が起きる直前に息を引き取った。 私は自らの心の弱さによって、また最期にそばにいてやることができなかったのだ。 せめてもの救いは他の家族は彼女に付いていてあげられたことだろう。 やはり辛そうな声を上げていたそうだから苦しみはしたのだろうが、少なくとも孤独を感じながら逝ったのではないと信じたい。
私はこれからも彼等と共に生きていくだろう。 そして、そうするなら否応なく、またいつかその時が訪れる。 次こそはもっとうまくやろう。 少しでも彼等が心安らかに最期の時をすごせるように。
自戒を込めて記す。
2ch のスレ見てみたら金しおり後の最後のシナリオの出し方がわかったので、ちょっくら見てみた……
………… あーあ………
かまいたち2のときみたく、一つのシナリオでやるならまだしも、全体をこれで落としちゃったらダメすぎだろーよ。 ただでさえ大しておもしろくもなかったシナリオが、これのせいで全く無意味になったね。 なんかすげー白けた。
これなら間違えて弟切草買ってきてやってた方が良かったよ。
そういやスレにもあったけど、赤ルートで金縛りから逃がれたときの金属音って結局何だったんだ? まあいーや、どうでもいーよね、そんなこと。 辻褄とかそんなもん必要無い世界なんだから。
前に書いたものに Perl での例を追加してみた。
# 配列リテラル # Ruby [1,2,3,4,5] ↓ # Python 同じ ↓ # Perl 同じ (ただし、配列そのものではなく、無名配列へのリファレンス)
# イテレーション
ary.each { |i| ... }
↓
for i in ary:
...
↓
for my $i (@ary) {
...
}
# 結合 ary + ary2 ↓ 同じ ↓ (@ary, @ary2)
# 文字列を連結
ary.join(',')
↓
','.join(ary)
↓
join ',', @ary
ary << a << b ↓ ary.append(a) ary.append(b) ↓ push @ary, ($a, $b)
ary.map { |i| ... }
or
ary.collect { |i| ... }
↓
def proc(i):
...
map(proc, ary)
# ツッコミがあったので内包表記版追記
[proc(i) for i in ary]
↓
map { ... } @ary # ブロック内では $_ が各要素として使える
ary.inject(init) { |a,b| ... }
↓
def proc(a,b):
...
reduce(proc, ary, init)
↓
List::Util::reduce { ... } $init, @ary # ブロック内では $a が accumulator、$b が各要素
ary.compact
↓
[x for x in ary if x is not None]
↓
grep {defined} @ary
ary.reverse ↓ list(reversed(ary)) ↓ reverse @ary
ary.reverse! ↓ ary.reverse() ↓ @ary = reverse @ary
ary.each_with_index { |item, idx| ... }
↓
def proc(item, idx):
...
[proc(ary[i], i) for i in range(len(ary))] # もちろん proc の中身が短かければ直接書いても可
# ツッコミがあったので追記
[proc(item,idx) for idx,item in enumerate(ary)]
↓
# よくわかんないけど、外部モジュールに頼らないならこのくらい?
for my $i (0 .. $#ary) {
... # $i と $ary[$i] を使う
}
ary.dup ↓ list(ary) ↓ @new_ary = @ary
ary.delete_at(pos) ↓ ary.pop(pos) # 値を返さなくて良いなら del ary[pos] でも可 ↓ delete $ary[pos]
ary.flatten
↓
# 自分でそれっぽい関数書くしかなさそう?
↓
# そもそもネストした配列って存在しないし。
# 存在するのは「配列の配列」じゃなく「配列リファレンスの配列」
# 一段階だけでいいならこんな?
map {ref($_) eq 'ARRAY' ? @$_ : $_} @ary
Before...
% きむら(K) [>内包表記に慣れちゃうと だから applyやらmapやらreduceがなくなる(ライブラリに追い出される) と..]
% jijixi [そうなんでしょうねえ。 map 的操作は内包表記で統一しろと。 ジェネレータ式の存在なんかも加味すれば、間違いな..]
% shiro [CLerが何でもloopで書くのと似ているかもしれない。 mapやreduceは高階関数をコンビネータで組み合わせ..]