AtomQ
例題
すべて開く すべて閉じる例 (1)
スコープ (6)
AtomQ["This is an atom"]AtomQ[ThisIsAnAtom]AtomQ[1.23]有理(Rational)数は複合構造を持つように見える:
FullForm[22 / 7]AtomQ[22 / 7]各部分にはNumeratorおよびDenominatorでアクセスできる:
{Numerator[22 / 7], Denominator[22 / 7]}複素(Complex)数は複合構造を持っているように見える:
FullForm[1 + 2 I]AtomQ[1 + 2 I]{Re[1 + 2 I], Im[1 + 2 I]}SparseArrayオブジェクトは原子的な生のオブジェクトである:
s = SparseArray[{i_, i_} -> i, 3]AtomQ[s]SparseArrayオブジェクトに使えるコマンドは,一般に表示された配列に対して使われる:
a = Normal[s]s[[2, 2]]a[[2, 2]]SparseArrayオブジェクトの完全形(FullForm)は,生のオブジェクトを再構築するのに十分であるように設計されている:
FullForm[s]s1 = SparseArray[Automatic, List[3, 3], 0, List[1, List[List[0, 1, 2, 3], List[List[1], List[2], List[3]]], List[1, 2, 3]]]アプリケーション (2)
leaves[expr_, OptionsPattern[]] := Block[{c = 0, cl, e},
cl[e_ ? AtomQ] := c++;
cl[e_] := Scan[cl, e, Heads -> OptionValue[Heads]];
cl[expr];
c];
Options[leaves] = {Heads -> True};e = Fold[f, x, Range[5]]leaves[e]次はLeafCountに等しい:
LeafCount[e]オブションをHeads->Falseとすると,枝を持たない原子のみが数えられる:
leaves[e, Heads -> False]次はTreeFormで見られるぶら下がった葉に相当する:
TreeForm[e]depth[expr_] := Block[{mind = Infinity, maxd = 0, burrow},
burrow[e_ ? AtomQ, d_] := (mind = Min[d, mind];maxd = Max[d, maxd]);
burrow[e_, d_] := Scan[burrow[#, d + 1]&, e];
burrow[expr, 0];
{mind, maxd}]depth[1 + x + 2x ^ 2]depth[{{1, 2}, {3, 4}}]Depthは最大の深さに1加えたものを返す:
Depth[1 + x + 2x ^ 2]特性と関係 (1)
Map[f,expr,{-1}]は通常 f を expr 中の原子にマップする:
Map[f, 1 + x + 2x ^ 2, {-1}]mapf[e_ ? AtomQ] := f[e];
mapf[head_[args___]] := Apply[head, Table[mapf[arg], {arg, {args}}]]mapf[1 + x + 2x ^ 2]テクニカルノート
-
▪
- すべては式 ▪
- パターン適用範囲の制限 ▪
- パターンにおける式の型指定 ▪
- 基本的オブジェクト
履歴
1988 で導入 (1.0) | 2003 で更新 (5.0)
テキスト
Wolfram Research (1988), AtomQ, Wolfram言語関数, https://reference.wolfram.com/language/ref/AtomQ.html (2003年に更新).
CMS
Wolfram Language. 1988. "AtomQ." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2003. https://reference.wolfram.com/language/ref/AtomQ.html.
APA
Wolfram Language. (1988). AtomQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/AtomQ.html
BibTeX
@misc{reference.wolfram_2026_atomq, author="Wolfram Research", title="{AtomQ}", year="2003", howpublished="\url{https://reference.wolfram.com/language/ref/AtomQ.html}", note=[Accessed: 11-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_atomq, organization={Wolfram Research}, title={AtomQ}, year={2003}, url={https://reference.wolfram.com/language/ref/AtomQ.html}, note=[Accessed: 11-August-2026]}