胃.empty()がtrueなのに胃.pop()してしまったためにIllegalOperationExceptionとIndexOutOfBoundsExceptionが同時に発生した

Follow

@KuroKitsuneNyan オブジェクト内の変数を直接参照させたくないので、emptyをboolで返るメソッドで定義している理解

@hadsn そもそもemptyをboolean値で「保持」するのやばいでしょ値を出し入れするたびにlengthが0かチェックして代入する気か?

@hadsn 「オブジェクト内の変数を直接参照させたくないので」というのをわたしは「胃._emptyのような内部変数を参照されたくない」という解釈をしたんですが、その上で_emptyのような内部変数を参照して空かどうか判別させるには、その変数が参照されるより前の段階で空かどうか判別されてなきゃですよね?ってことは、何か値を出し入れしてlengthが更新されるたびにupdateEmptyみたいなメソッドを呼び出して、そのupdateEmptyで_empty = length==0のようにしなきゃですよね?その_emptyが呼び出されるかどうかも不明なのに代入と判別のコードは要るんですか?みたいな話をしたかったんですが。

@KuroKitsuneNyan 前半部分はその解釈で正しいんだけど、何でlengthを取得しなければいけないのがちょっとわからない。lengthが胃の容量であると仮定する (capacityでは感) のであれば、それを更新する作業を行う度に容量チェックを行ってbool変数emptyが書き換えられているような設計が正しいのではないだろうか?

@hadsn あっごめんついマジレスしてしまったしなんかキツい言い方になってるごめん

Sign in to participate in the conversation
mstdn.jp

Mastodon日本鯖です. よろしくお願いいたします。 (Maintained by Sujitech, LLC)