03-08-2013, 04:15 PM,
|
|||||
|
|||||
値の初回変更後の再変更を許可しない
ある値が変更されたら、その後はその値の変更を許さない、
という機能を実装したいのですが、どのような方法があるでしょうか。 こういう設計じたい、あまり美しくないとは思うのですが、 テキストフィールドを入力不可にしたりするときに利用したいです。 |
|||||
03-08-2013, 05:09 PM,
|
|||||
|
|||||
RE: 値の初回変更後の再変更を許可しない
■def、 constant を利用する
定義時、つまりコーディング時に値を決められるのであれば、この方法が一番よいと思います。 ただ、「プログラムで初回の変更のみゆるす」という目的には合致しません。 ■first?:bool などのフラグを用意する。 初回の変更かどうかを保持するフラグを用意し、 ある値が変更されたら、そのフラグを倒す、という方法です。 ロジックとしてわかりやすいのですが、そのフラグが変更されたら・・・、 ということを考えると確実性がありません。 ■uninitialized-value-for-type これは一時的な不正行為を許す機能とのことですが、NULLを許可しない型で定義すれば、 値を一度入れたらnullにすることはできないので、上記の first? フラグに利用できるかもしれません |
|||||
03-08-2013, 07:33 PM,
|
|||||
|
|||||
RE: 値の初回変更後の再変更を許可しない
つまり、こういうことでしょうか。
Code: {define-class public A ちょっと面倒ですね。 |
|||||
« Next Oldest | Next Newest »
|
Users browsing this thread: