疑問点: Diceクラスのrollメソッドの仕様について
Issue #526
resolved
cw/dice.pyのDice.rollメソッドについて、1面ダイスを振ったとき(sided=1のとき)の動作について疑問があります。 現状、1面ダイスを何回振ろうが戻り値が必ず1になっていますが、この仕様で正しいのでしょうか?1面ダイスをt回振った時の戻り値は1*tになるのではないのかなと疑問に感じています。 現状で正しい場合は、恐縮ですがコード中にその旨のコメントがあると後進のものにとっては大変ありがたいです。
Comments (3)
-
repo owner -
reporter k4nagatsuki様。早速のご対応ありがとうございました。
-
reporter - changed status to resolved
- Log in to comment
いえ、これはバグです。仰る通り、これは
1*times
を返すのが正しいはずです。おそらくたまたま問題になるような使い方をしている箇所が無かったので発覚しなかったのでしょう。調べてみたところ実際に
sided
に1を渡していた箇所は無く、sided
が変数になっている箇所も全てtimes
が1だったので無害なはずですが、念のためにpull request #1902で修正しました。追い追いマイナス値のチェックも入れておいた方がよさそうですね。