アプリをダウンロード
フォルダーを選び、編集前に関連ファイルを読むようアシスタントに依頼します。作業の目的と変更範囲を明確にしてください。
最大128文字の分フィールドをゼロから59の重複しない昇順値へ展開してください。リスト、両端を含む範囲、範囲や星への刻みを試し、逆の境界、ゼロ刻み、未対応構文を拒否し、ジョブを実行しないでください。
フォルダーを選び、編集前に関連ファイルを読むようアシスタントに依頼します。作業の目的と変更範囲を明確にしてください。
対応するエンドポイントを選択します。利用できるツールや回答品質は、設定したモデルとサーバーに依存します。
変更内容とコマンド出力を確認します。結果を採用する前にプロジェクトの検証を実行してください。生成コードが自動的にテスト済みになるわけではありません。
実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
import re
def minute_values(field):
if type(field) is not str or not 1 <= len(field) <= 128:
raise ValueError("minute.input")
result = set()
for item in field.split(","):
match = re.fullmatch(r"(\*|[0-9]+(?:-[0-9]+)?)(?:/([0-9]+))?", item)
if match is None:
raise ValueError("minute.syntax")
base, step_text = match.groups()
step = int(step_text) if step_text else 1
if not 1 <= step <= 59 or (step_text and base != "*" and "-" not in base):
raise ValueError("minute.step")
bounds = [int(x) for x in base.split("-")] if base != "*" else [0, 59]
low, high = (bounds[0], bounds[-1])
if not 0 <= low <= high <= 59:
raise ValueError("minute.bounds")
result.update(range(low, high+1, step))
return sorted(result)
適用前に確認. 変更内容とコマンド出力を確認します。結果を採用する前にプロジェクトの検証を実行してください。生成コードが自動的にテスト済みになるわけではありません。