1

InputForm[{a, b, c, d, e, f}] 与える {a, b, c, d, e, f}

InputForm[Characters["SOMETHING"]] 与える {"S", "O", "M", "E", "T", "H", "I", "N", "G"}

しかし、なぜDrop[InputForm[Characters["SOMETHING"]],1]与えないのですか{"O", "M", "E", "T", "H", "I", "N", "G"}

しかし、InputForm[] と他に何も与えませんか?

どうすればこれを達成できますか?

ありがとうございました

4

1 に答える 1

4

評価すると

InputForm[Characters["SOMETHING"]]

Mathematica は内部的に結果を生成します

InputForm[List["S","O","M","E","T","H","I","N","G"]]

つまり、最初の部分式としてInputForm含む、ヘッドとしての式です。ListList["S","O","M","E","T","H","I","N","G"]Mathematica が式を表示するときは頭が見えませんInputForm.フロントエンドは式をどのように表示すべきかについてのヒントとして頭を使用するだけなので.

次に を使用するDrop[..., 1]と、与えられた式を見て、最初の部分式である を取り出し、それList["S","O","M","E","T","H","I","N","G"]を破棄します。残りはInputForm[].

類推するために:あなたが評価した場合

Drop[List[List["S","O","M","E","T","H","I","N","G"]], 1]

空のリストが返される理由がわかりますね。同じことが起こっています。

于 2012-11-24T21:47:48.197 に答える