AArevia
ワークフロー

コーディングのワークフロー · CSSグリッド領域の長方形検証

03
製品

ワークフロー

ASCII名と空セルを示す単独の点を使うグリッド領域の長方形性を検証してください。空入力、不揃いの行、分断された名前を試し、領域が長方形全体を埋める場合だけ排他的境界を返してください。

01

アプリをダウンロード

フォルダーを選び、編集前に関連ファイルを読むようアシスタントに依頼します。作業の目的と変更範囲を明確にしてください。

02

プロジェクトフォルダーを開く

対応するエンドポイントを選択します。利用できるツールや回答品質は、設定したモデルとサーバーに依存します。

03

モデルを接続してテスト

変更内容とコマンド出力を確認します。結果を採用する前にプロジェクトの検証を実行してください。生成コードが自動的にテスト済みになるわけではありません。

04

変更を確認しテストを実行

実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。

CSSグリッド領域の長方形検証

ワークフロー
import re

def grid_areas(rows):
    if type(rows) is not list or any(type(r) is not str for r in rows):
        raise ValueError("grid.rows")
    if not rows:
        return {}
    cells = [r.split() for r in rows]
    width = len(cells[0])
    if not width or any(len(r) != width for r in cells):
        raise ValueError("grid.width")
    groups = {}
    for y, row in enumerate(cells):
        for x, name in enumerate(row):
            if name == ".":
                continue
            if not re.fullmatch(r"[A-Za-z_][A-Za-z0-9_-]*", name):
                raise ValueError("grid.name")
            groups.setdefault(name, []).append((y, x))
    result = {}
    for name, points in groups.items():
        top, bottom = min(y for y,x in points), max(y for y,x in points)+1
        left, right = min(x for y,x in points), max(x for y,x in points)+1
        if len(points) != (bottom-top)*(right-left):
            raise ValueError("grid.rectangle")
        result[name] = (top, bottom, left, right)
    return result

適用前に確認. 変更内容とコマンド出力を確認します。結果を採用する前にプロジェクトの検証を実行してください。生成コードが自動的にテスト済みになるわけではありません。

AIコーディングワークスペース

次のアイデアはここから。

Windows版をダウンロード ↗