teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

.

2022/10/23 01:17

投稿

int32_t
int32_t

スコア21933

answer CHANGED
@@ -3,4 +3,4 @@
3
3
  そのとおりです。
4
4
  `'...` ( `(quote ...)` の省略形) は [special form](https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node59.html) で、引数をいっさい評価せずにそのまま返します。変数の評価さえ行いません。なので、変数や関数呼び出しの入っていないただのデータをソース上に書きたいときだけ利用できます。
5
5
 
6
- 文字列のリストのような単純なものなら `'` でも `list` でも同じですが、変数名ではないシンボルを入れたいとか入れ子になったリストを書きたい場合は `'` が必要になります。逆に、変数に入っている値や関数の実行結果から実行時にリストを組み立てるときは `list` が必要です。
6
+ 文字列のリストのような単純なものなら `'` でも `list` でも同じですが、変数名ではないシンボルを入れたいとか入れ子になった**リストをソースコードに書きたい**場合は `'` が必要になります。逆に、変数に入っている値や関数の実行結果から**実行時にリストを組み立てる**ときは `list` が必要です。

1

.

2022/10/23 01:15

投稿

int32_t
int32_t

スコア21933

answer CHANGED
@@ -2,3 +2,5 @@
2
2
 
3
3
  そのとおりです。
4
4
  `'...` ( `(quote ...)` の省略形) は [special form](https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node59.html) で、引数をいっさい評価せずにそのまま返します。変数の評価さえ行いません。なので、変数や関数呼び出しの入っていないただのデータをソース上に書きたいときだけ利用できます。
5
+
6
+ 文字列のリストのような単純なものなら `'` でも `list` でも同じですが、変数名ではないシンボルを入れたいとか入れ子になったリストを書きたい場合は `'` が必要になります。逆に、変数に入っている値や関数の実行結果から実行時にリストを組み立てるときは `list` が必要です。