値の初回変更後の再変更を許可しない - Printable Version +- Curl Global Community (https://communities.curl.com) +-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1) +--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2) +--- Thread: 値の初回変更後の再変更を許可しない (/showthread.php?tid=868) |
値の初回変更後の再変更を許可しない - umemura - 03-08-2013 ある値が変更されたら、その後はその値の変更を許さない、 という機能を実装したいのですが、どのような方法があるでしょうか。 こういう設計じたい、あまり美しくないとは思うのですが、 テキストフィールドを入力不可にしたりするときに利用したいです。 RE: 値の初回変更後の再変更を許可しない - umemura - 03-08-2013 ■def、 constant を利用する 定義時、つまりコーディング時に値を決められるのであれば、この方法が一番よいと思います。 ただ、「プログラムで初回の変更のみゆるす」という目的には合致しません。 ■first?:bool などのフラグを用意する。 初回の変更かどうかを保持するフラグを用意し、 ある値が変更されたら、そのフラグを倒す、という方法です。 ロジックとしてわかりやすいのですが、そのフラグが変更されたら・・・、 ということを考えると確実性がありません。 ■uninitialized-value-for-type これは一時的な不正行為を許す機能とのことですが、NULLを許可しない型で定義すれば、 値を一度入れたらnullにすることはできないので、上記の first? フラグに利用できるかもしれません RE: 値の初回変更後の再変更を許可しない - umemura - 03-08-2013 つまり、こういうことでしょうか。 Code: {define-class public A ちょっと面倒ですね。 |