{"componentChunkName":"component---src-templates-blog-post-js","path":"/the-little-schemer-summary-6/","result":{"data":{"site":{"siteMetadata":{"title":"星雨之夜"}},"markdownRemark":{"id":"b72cb3e5-2c97-509f-9895-dca7b805f71f","excerpt":"准备知识 算术表达式 它要么是一个原子（包括数字），要么是用 +×↑ 连接起来的两个算术表达式。 算术表达式的表示方式 中缀： 后缀： 前缀： 前缀： 表示法 数字也是某种表示法，比如阿拉伯表示法 4。我们也可以用  来表示。 Scheme 十诫之第七诫 对具有相同性质的 subparts…","html":"<h2>准备知识</h2>\n<ol>\n<li>\n<p>算术表达式</p>\n<p>它要么是一个原子（包括数字），要么是用 +×↑ 连接起来的两个算术表达式。</p>\n</li>\n<li>\n<p>算术表达式的表示方式</p>\n<ul>\n<li>中缀：<code class=\"language-text\">(3 + 4)</code></li>\n<li>后缀：<code class=\"language-text\">(3 4 +)</code></li>\n<li>前缀：<code class=\"language-text\">(+ 3 4)</code></li>\n<li>前缀：<code class=\"language-text\">(+ (× 3 6) (↑ 8 2))</code></li>\n</ul>\n</li>\n<li>\n<p>表示法</p>\n<p>数字也是某种表示法，比如阿拉伯表示法 4。我们也可以用 <code class=\"language-text\">(() () () ())</code> 来表示。</p>\n</li>\n</ol>\n<h2>Scheme 十诫之第七诫</h2>\n<p>对具有相同性质的 subparts 进行递归调用：</p>\n<ul>\n<li>列表的子列表</li>\n<li>算术表达式的子表达式</li>\n</ul>\n<h2>Scheme 十诫之第八诫</h2>\n<p><del>八戒，为师。。。</del></p>\n<p>使用辅助函数来抽象表达方式。</p>\n<h2>自定义函数</h2>\n<h3>(numbered? aexp)</h3>\n<p>定义：用于判断一个算术表达式的表示方式中，是否除了 +×↑ 之外，只包含数字。</p>\n<p>实现：</p>\n<div class=\"gatsby-highlight\" data-language=\"scheme\"><pre class=\"language-scheme\"><code class=\"language-scheme\"><span class=\"token punctuation\">(</span><span class=\"token keyword\">define</span> numbered?\n  <span class=\"token punctuation\">(</span><span class=\"token keyword\">lambda</span> <span class=\"token punctuation\">(</span><span class=\"token function\">aexp</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">(</span><span class=\"token keyword\">cond</span>\n      <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token function\">atom?</span> aexp<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">number?</span> aexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">(</span><span class=\"token keyword\">else</span>\n        <span class=\"token punctuation\">(</span><span class=\"token function\">and</span> <span class=\"token punctuation\">(</span><span class=\"token function\">numbered?</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> aexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n             <span class=\"token punctuation\">(</span><span class=\"token function\">numbered?</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> aexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div>\n<h3>(value nexp)</h3>\n<p>定义：返回可计数算术表达式（中缀）的一般性值。</p>\n<p>实现：</p>\n<div class=\"gatsby-highlight\" data-language=\"scheme\"><pre class=\"language-scheme\"><code class=\"language-scheme\"><span class=\"token punctuation\">(</span><span class=\"token keyword\">define</span> value\n  <span class=\"token punctuation\">(</span><span class=\"token keyword\">lambda</span> <span class=\"token punctuation\">(</span><span class=\"token function\">nexp</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">(</span><span class=\"token keyword\">cond</span>\n      <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token function\">atom?</span> nexp<span class=\"token punctuation\">)</span> nexp<span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token function\">eq?</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">quote</span> +<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n        <span class=\"token punctuation\">(</span><span class=\"token function\">plus</span> <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n              <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token function\">eq?</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">quote</span> ×<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n        <span class=\"token punctuation\">(</span><span class=\"token function\">×</span> <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">(</span><span class=\"token keyword\">else</span>\n        <span class=\"token punctuation\">(</span><span class=\"token function\">↑</span> <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>如果是前缀表达式的话：</p>\n<div class=\"gatsby-highlight\" data-language=\"scheme\"><pre class=\"language-scheme\"><code class=\"language-scheme\"><span class=\"token punctuation\">(</span><span class=\"token keyword\">define</span> value\n  <span class=\"token punctuation\">(</span><span class=\"token keyword\">lambda</span> <span class=\"token punctuation\">(</span><span class=\"token function\">nexp</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">(</span><span class=\"token keyword\">cond</span>\n      <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token function\">atom?</span> nexp<span class=\"token punctuation\">)</span> nexp<span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token function\">eq?</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> nexp<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">quote</span> +<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n        <span class=\"token punctuation\">(</span><span class=\"token function\">plus</span> <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n              <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token function\">eq?</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> nexp<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">quote</span> ×<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n        <span class=\"token punctuation\">(</span><span class=\"token function\">×</span> <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">(</span><span class=\"token keyword\">else</span>\n        <span class=\"token punctuation\">(</span><span class=\"token function\">↑</span> <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div>\n<h3>(1st-sub-exp aexp)</h3>\n<p>定义：一个算术表达式（前缀）的表示方式中的第一个子表达式。</p>\n<p>实现：（可省略 <code class=\"language-text\">cond</code> 和 <code class=\"language-text\">else</code>，因为只有一个问题）</p>\n<div class=\"gatsby-highlight\" data-language=\"scheme\"><pre class=\"language-scheme\"><code class=\"language-scheme\"><span class=\"token punctuation\">(</span><span class=\"token keyword\">define</span> 1st-sub-exp\n  <span class=\"token punctuation\">(</span><span class=\"token keyword\">lambda</span> <span class=\"token punctuation\">(</span><span class=\"token function\">aexp</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> aexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div>\n<h3>(2nd-sub-exp aexp)</h3>\n<p>定义：一个算术表达式（前缀）的表示方式中的第二个子表达式。</p>\n<p>实现：</p>\n<div class=\"gatsby-highlight\" data-language=\"scheme\"><pre class=\"language-scheme\"><code class=\"language-scheme\"><span class=\"token punctuation\">(</span><span class=\"token keyword\">define</span> 2nd-sub-exp\n  <span class=\"token punctuation\">(</span><span class=\"token keyword\">lambda</span> <span class=\"token punctuation\">(</span><span class=\"token function\">aexp</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> aexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div>\n<h2>抽象 value 函数</h2>\n<p>我们把 <code class=\"language-text\">(car nexp)</code> 替换成 <code class=\"language-text\">(operator nexp)</code>：</p>\n<div class=\"gatsby-highlight\" data-language=\"scheme\"><pre class=\"language-scheme\"><code class=\"language-scheme\"><span class=\"token punctuation\">(</span><span class=\"token keyword\">define</span> operator\n  <span class=\"token punctuation\">(</span><span class=\"token keyword\">lambda</span> <span class=\"token punctuation\">(</span><span class=\"token function\">aexp</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> aexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>那么 value 函数可以重写为：</p>\n<div class=\"gatsby-highlight\" data-language=\"scheme\"><pre class=\"language-scheme\"><code class=\"language-scheme\"><span class=\"token punctuation\">(</span><span class=\"token keyword\">define</span> value\n  <span class=\"token punctuation\">(</span><span class=\"token keyword\">lambda</span> <span class=\"token punctuation\">(</span><span class=\"token function\">nexp</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">(</span><span class=\"token keyword\">cond</span>\n      <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token function\">atom?</span> nexp<span class=\"token punctuation\">)</span> nexp<span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token function\">eq?</span> <span class=\"token punctuation\">(</span><span class=\"token function\">operator</span> nexp<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">quote</span> +<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n        <span class=\"token punctuation\">(</span><span class=\"token function\">plus</span> <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token function\">1st-sub-exp</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n              <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token function\">2nd-sub-exp</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token function\">eq?</span> <span class=\"token punctuation\">(</span><span class=\"token function\">operator</span> nexp<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">quote</span> ×<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n        <span class=\"token punctuation\">(</span><span class=\"token function\">×</span> <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token function\">1st-sub-exp</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token function\">2nd-sub-exp</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">(</span><span class=\"token keyword\">else</span>\n        <span class=\"token punctuation\">(</span><span class=\"token function\">↑</span> <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token function\">1st-sub-exp</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">(</span><span class=\"token function\">value</span> <span class=\"token punctuation\">(</span><span class=\"token function\">2nd-sub-exp</span> nexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>调整 1st-sub-exp 和 operator 就可以表示中缀算术表达式：</p>\n<div class=\"gatsby-highlight\" data-language=\"scheme\"><pre class=\"language-scheme\"><code class=\"language-scheme\"><span class=\"token punctuation\">(</span><span class=\"token keyword\">define</span> 1st-sub-exp\n  <span class=\"token punctuation\">(</span><span class=\"token keyword\">lambda</span> <span class=\"token punctuation\">(</span><span class=\"token function\">aexp</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> aexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"scheme\"><pre class=\"language-scheme\"><code class=\"language-scheme\"><span class=\"token punctuation\">(</span><span class=\"token keyword\">define</span> operator\n  <span class=\"token punctuation\">(</span><span class=\"token keyword\">lambda</span> <span class=\"token punctuation\">(</span><span class=\"token function\">aexp</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> aexp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>这里，1st-sub-exp，2nd-sub-exp 和 operator 都是<strong>辅助函数</strong>。</p>\n<h2>回顾 lat? 函数</h2>\n<div class=\"gatsby-highlight\" data-language=\"scheme\"><pre class=\"language-scheme\"><code class=\"language-scheme\"><span class=\"token punctuation\">(</span><span class=\"token keyword\">define</span> lat?\n  <span class=\"token punctuation\">(</span><span class=\"token keyword\">lambda</span> <span class=\"token punctuation\">(</span><span class=\"token function\">l</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">(</span><span class=\"token keyword\">cond</span>\n      <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">null?</span> l<span class=\"token punctuation\">)</span> <span class=\"token boolean\">#t</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token function\">atom?</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">car</span> l<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span><span class=\"token function\">lat?</span> <span class=\"token punctuation\">(</span><span class=\"token builtin\">cdr</span> l<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">(</span><span class=\"token keyword\">else</span> <span class=\"token boolean\">#f</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>如果 0 表示为 ()，1 是 (())，2 是 (() ())，以此类推。</p>\n<p>当 l 是 (1 2 3)，<code class=\"language-text\">lat? l</code> 显然是 #t。但是如果把数字用上述表示法表示，那 <code class=\"language-text\">lat? l</code> 的值显然是 #f，与实际不符。所以使用辅助函数来抽象的时候需要注意这类问题。</p>","frontmatter":{"title":"The Little Schemer 知识点整理（六）：如影随形","date":"2018 年 12 月 29 日","description":"本章介绍了如何引入辅助函数来构建高阶抽象，同时告诫我们抽象的同时也会引入更多风险，需要关注到其中的副作用。"}}},"pageContext":{"slug":"/the-little-schemer-summary-6/","previous":{"fields":{"slug":"/the-little-schemer-summary-5/"},"frontmatter":{"title":"The Little Schemer 知识点整理（五）：我得天！都是星星"}},"next":{"fields":{"slug":"/the-little-schemer-summary-7/"},"frontmatter":{"title":"The Little Schemer 知识点整理（七）：朋友及关系"}}}}}