論理AND計算ツール
真AND真は真で、それ以外の3つの組み合わせはすべて偽です。「規約に同意した」と「年齢を確認した」のような2つの条件を、隠れた変換なしで確実に組み合わせられます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
論理AND計算ツールは、まさに2つのブール値オペランドを受け取り、その論理積(コンジャンクション)を返します。両方のオペランドがtrueの場合にtrue、それ以外のすべてのケースではfalseを返します。truthyな文字列も、1や0も、暗黙の型変換もありません。ルールのペアの検証、アクセス条件のテスト、あるいは形式的な定義どおりに正確に動作するツールによる真理値表の教育にご利用いただけます。
論理積とは実際には何か
論理積(コンジャンクション)は、論理学ではA ∧ Bと書かれ、ほとんどのプログラミング言語では&&演算子として表される二項演算です。その真理値表には正確に4つの行があります。
true AND trueはtrueであり、残りの3つの組み合わせ——true AND false、false AND true、false AND false——はすべてfalseです。この演算は可換・結合・冪等であり、A AND BはB AND Aと等しく、ANDの連鎖はどのような順序でもグループ化でき、A AND Aは単にAとなります。
意図的に式を評価せず、3つのオペランドを受け付けず、整数に対するビット演算も行いません。計算のすべては決定論的です。同じ2つの入力は、エッジでも、ブラウザでも、お客様自身のテストでも、常に同じ出力を生成します。
活用例
2つの条件でフィーチャーフラグをゲートする
グローバルな有効化フラグとアカウントごとの適格性フラグを組み合わせ、両方がtrueと評価された場合にのみ機能を有効にします。
フォームでペアの確認を検証する
送信を通す前に、ユーザーが利用規約に同意し、かつ年齢も確認したことを検証します。
ブール真理値表を教える
形式的な定義を適用し、ブール値でない近道を拒否するツールで、論理積をライブで実演します。
よくある質問
料金はいくらですか?
また、まったく同じコードで、このページのブラウザ上でも無料で実行できます。
何が返されますか?
resultは両方のオペランドがtrueの場合にのみtrueになります。
3つ以上のオペランドを連鎖できますか?
1回の呼び出しではできません。論理積は結合的なので、多数の値のANDは単にペアごとのANDの繰り返しです。ペアごとに1回呼び出すか、お客様自身のコードでリストを畳み込んでください。
オペランドは保存または記録されますか?
いいえ。 値はメモリ内で評価され破棄されます。返されるのは論理積だけです。
真と偽の代わりに1と0を使えますか?
いいえ、使えません。受け付けるのは本物の真と偽の値だけです。数値や「偽」という文字、空の値は、どの値が問題かを示すメッセージとともに受け付けないので、誤った結果が見過ごされません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/and \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":true,"b":false}'const res = await fetch("https://api.kit.forhosting.com/math/and", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": true,
"b": false
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/and",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": true,
"b": false
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/and", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":true,"b":false}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":true,"b":false}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/and", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a": true,
"b": false
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.and",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
これはブール論理の最小の構成要素であり、真のブール値以外のものを一切受け付けない厳密で決定論的なエンドポイントとして提供されます。
論理積とは実際には何か
このエンドポイントは、まさにその定義を2つのオペランドに対して実装しているだけで、それ以上のものではありません。2つの正真正銘のブール値を送信すれば、両オペランドのエコーとともに論理積が返されるため、レスポンスは自己記述的であり、意思決定の記録としてログに残したり保存したりできます。
入力バリデーションが厳密な理由
ブール論理をめぐるバグのほとんどは、論理そのものではなく型強制(コエーション)に起因します。パイプライン、フォーム、ルールエンジンがブール値に見えるだけの値を送ってきたとき、誤ったtrueやfalseがアクセス判定、価格ルール、適格性チェックへ伝播するのではなく、境界で呼び出しを明確に失敗させたいはずです。エラーに課金されることは決してありません。JavaScriptは文字列"false"をtruthyとして扱い、多くのAPIは1と0をブール値の代用品として受け入れ、欠落したフィールドは暗黙にundefined(falsy)になります。そのため、ナイーブな実装は、文句を言う代わりに静かに間違った答えを返してしまいます。この論理and計算ツールは、そのすべてを拒否します。各オペランドはJSONのブール値trueまたはfalseでなければならず、それ以外のもの——文字列、数値、null、オブジェクト、配列、欠落フィールド——は、問題のあるオペランド名を示す明確なinvalid_inputエラーで失敗します。この厳密さこそが機能です。拒否されたリクエストは、エラーコードとメッセージだけを返し、それ以外は何も返しません。
2オペランドのANDがその価値を発揮する場面
単一の論理積は些細に見えますが、システムが複数の場所で一貫してそれを評価する必要がある回数を数えてみるまでです。値は評価後に破棄され、返されるのは論理積だけです。フィーチャーフラグサービスは有効化フラグとユーザー適格性フラグを組み合わせ、フォームバリデーターはチェックボックスがオンで、関連フィールドが確認済みであることを検証し、監視ゲートは2つの独立したプローブが一致した場合にのみ発火します。そのチェックを単一の共有エンドポイント——あるいは同じコードの無料ブラウザ版——を通して実行することで、各クライアントが独自の型変換ルールをでっち上げるのではなく、あらゆる面で同じ厳密なブール値の定義が適用されることが保証されます。APIを動かしているのと同じモジュールがこのページ上で無料で動作するため、開発者は後で自動化する正確な動作をプロトタイプでき、教育者は真理値表をライブで実演できます。自動化される際の呼び出しは$0.002/リクエストで、最低料金はなく、オペランドが保存されることもありません。
技術的な質問
オペランドとしてどの値が受け入れられますか?
JSONのブール値trueとfalseのみです。"true"のような文字列、1や0のような数値、null、オブジェクト、配列はすべてinvalid_inputエラーで拒否されます。
オペランドが欠けている場合はどうなりますか?
リクエストは、欠落したフィールド名を示すinvalid_inputエラーで失敗し、課金されません。