トップ «前の日記(2006-04-28) 最新 次の日記(2006-04-30)» 編集

日々の破片

著作一覧

2006-04-29

_ ITemplate

自分でしてもいいんだけれど

それはぜひとも、読みたいです。

しかし、なぜこういう話のときに訳のわからないトラックバックが打たれているのか、それもおもしろかったり。

それにしても、MSDNの「このインターフェイスは、カスタム サーバー コントロールによって使用されますが、実装されることはありません。ASP.NET は、常にこのインターフェイスを実装します。」という説明は言語明瞭意味不明瞭の最たるものだ。

で、サンプルコードを見るとその型のフィールドが定義されているだけ。で、どうやらフィールドインジェクションされるのだろうな、ということがコードを見てるとわかってくるし、トピックを読むとだんだんに見えてくる。

でも現在はこのあたりの開発してないので実感としてそれがどう役立つのかがわからない。カスタムコントロールを作る場合の難易度を軽減させるために委譲するための受け口を用意しているってことなのか? とか言いながらMSDNを読んでいるうちにだんだんとわかってきたが、COMで言うと自分でTypeLibを拡張していくオートメーションサーバーみたいな感じなのかな? ――やっぱりわかったわけではない。IDispatchExみたいな感じなのかも。あれは読み込んだHTMLによってJavaScript自体の動作が変わる(外部から関数が定義されるからだ)。

本来は内部構造なのだがインターフェイスを切っているために、外部へこういったものが露呈してしまう。そのためMSDNに書くことになる。というやつなのかな。

_ IO#eofの副作用

成瀬さんのスクリプトがうまく動かない

ばらして見たら意外な事実を発見。Ruby 1.8.4 ノーパッチ。

C:\>type test.txt|ruby -e 'p $stdin.binmode.readline[-2]'
13
 
C:\>type test.txt|ruby -e '$stdin.eof; p $stdin.binmode.readline[-2]'
116

1文字分戻っている勘定だ。ということは最後の1文字をIO#eofが消費してしまったように見える。でもio.cを見てもそんな様子はないし、そもそもeofの呼び出しは先頭でやっているのだから末尾に影響するとは思えない。

というか、binmodeの位置かな?

C:\>type test.txt|ruby -e '$stdin.binmode.eof; p stdin.readline[-2]'
13

当たり。

#当たりって、これはどういうことなんだ? 一度binmode抜きでIOをかけると、その時点でモードが固定されてしまって後からは変えられないってことなのかな。

setmode 関数をストリームのファイル記述子に対して使用する場合は、ストリームに対して入出力操作を実行する前に、_setmode 関数を呼び出します。
MSDN _setmode

当たり。

_ はー

>> Inflector.pluralize('leaf')
=> "leafs"
>> Inflector.singularize('leaves')
=> "leafe"
>>

アルバムリーフっていうのを使いたかったがちょっとがっかり。チケット切るほどでも無いし。

#追記:チケット切ったのは良いが、Subjectの綴りミスった(本文しか確認しなかった)。Infectorって、それじゃ病気だよ……orz。
本日のツッコミ(全3件) [ツッコミを入れる]
_ babie (2006-04-29 16:02)

environment.rb に、<br>Inflector.inflections do |i|<br> i.irregular 'leaf', 'leaves'<br>end<br>で、どっすか。

_ babie (2006-04-29 16:07)

eaf -> eaves みたいなが規則性・汎用性があるなら、チケット切ってくれた方が嬉しいでっす。<br><br>activesupport/lib/active_support/inflections.rb:<br>Inflector.inflections do |inflect|<br> ...<br> inflect.plural(/eaf$/, 'eaves')<br> ...<br>end

_ arton (2006-04-30 14:56)

うむ、最初のbabieさんの指摘通り、environment.rbに書きゃいいじゃんというコメントが付いた。あまり使わない名詞なのかな?


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|

ジェズイットを見習え