dポイントプレゼントキャンペーン実施中!

プログラミング言語で、使えるクラス沢山ありますが、以下のようなクラスってなんて名前ですか?

例えば1~12の範囲の値しか取らないクラスです。
12に1を足したら13ではなく1に戻るような。


以下のPHPは例でGPTに作成してもらいました。
(分かりやすく計算式を載せると以下のようになります
1から12の範囲の時
(n -1) %12 +1
)
循環リストバージョンもあったりするなら、教えて貰えるとありがたいです。

PHPでどうにかしたいとかじゃなくて単に標準的な機能名を知りたいです。

補足
startとendが逆転した時とか、-になった時とかバグるのは分かってますが本題では無いので割愛


<?php

class CircularValue {
private $start;
private $end;
private $value;

public function __construct($start, $end) {
$this->start = $start;
$this->end = $end;
$this->value = $start; // 初期値を始まりの値に設定
}

public function setValue($value) {
$this->value = $value;
}

public function getValue() {
return ($this->value - $this->start) % ($this->end - $this->start + 1) + $this->start;
}
}

// 使用例
$circular = new CircularValue(1, 12);
$circular->setValue(13);
echo $circular->getValue(); // 出力: 1
$circular->setValue(14);
echo $circular->getValue(); // 出力: 2
$circular->setValue(24);
echo $circular->getValue(); // 出力: 12

A 回答 (3件)

12で割った余りの0~11なら、数学用語では、剰余類ですが、


それに1を足した1~12というのは、数学用語は無いと思います。

4 + 10 の値が 2 になる。
    • good
    • 0

13進数の関数とかどこかのライブラリにあるかもしれないですね。



16進数まであるようなのが。
    • good
    • 0

年月日の月?

    • good
    • 0
この回答へのお礼

そういう話じゃないです...

お礼日時:2024/05/16 22:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A