抽象概念一定要被具象化才能被理解吗?

转载自 https://www.yueyao1982.com/phil_faq/faq_abstraction.html 若侵犯了内容创作者的权益,请联系删除 正文: 恰恰相反,具体的问题一定要抽象化之后才能理解,虽然这乍听起来比较奇怪。我们不妨想一想中学物理中最简单的问题,比如斜面上物体的运动。我们是先把物体和斜面都作了抽象化——物体和斜面都有很多细节,即“象”,而这些“象”被我们忽略了,或者说是抽离了,亦即“抽象”。所以,我们通过牛顿力学来理解机械运动,只是在理解抽象物体的相互关系,比如它们之间的作用,即力,比如它们之间的相对运动:简而言之,我们是在研究一个抽象模型,并试图理解这个模型。我们能做到最好的,就是我们的抽象化很合理,亦即被抽掉的“象”都是次要的;相应的,我们能得到最好的结果就是:模型的预测结果和实际的观测结果之间误差很小,一般来说不能没有误差,除非被观测值的可能性是离散甚至是有限的——比如电子的自旋只有两种可能。即使我们真的把主要因素抽掉,我们仍然可以理解那个被抽象出来的模型,只是那个模型和经验世界已经不能很好的对应了。 稍微深入一些来说,并非所有的抽象概念都能具象化,或者说概念的世界至少从规则和可能性这些方面来讲,并不受制于经验的世界,虽然没有经验概念就无从产生。比如我们观察过很多“经验中的马”,忽略了彼此不同的“象”,比如颜色、大小、公母等因素,就产生了“马的概念”;同样,我们观察过很多“经验世界中的鸟”,忽略了彼此不同的“象”,就产生了“鸟的概念”。“马的概念”和“鸟的概念”都可以被具象化到自然界中真实的动物。然而,我们的思维还可以对概念进行加工,比如我们对“鸟”概念进行切分,得到了“翅膀的概念”(当然它还是可以被具象化的)。然后我们把“翅膀的概念”和“马的概念”进行组合,得到了“天马”的概念——这个概念虽然可以具象化为具体的玩具或模型,但不再能具象化为自然界中的动物了。与此相似,我们还可以进行更复杂的概念建构,比如用更多的翅膀构建出“六翼天使”,比如用多种动物的不同部分构建出了“龙”和“麒麟”等神兽。当然,到此为止,这些概念至少还是可以被在一定程度上具象化,比如画成图画,比如做成雕刻。但是,更进一步的概念建构使这点也不可能了。如果我们把自然数的计数泛化到空间的维度上,我们就构建出了N维空间——1维空间、2维空间和3维空间是可以被具象化的,4维...

如何在Blogger博客中插入展示代码

在接触Blogger之前我没有想到会接触Html代码,之前也几乎不会Html。所以这个教程完全是从网络上找来的教程并结合gpt完成的
首先,我们需要准备两个代码插入到html中 第一个代码是
<style>	
pre {
       		font-size: 18px;
            color: #fff;
            border-radius: 8px;
            border: 2px solid #2E2E2E;
            background-color: #343434;
            padding: 5px 10px;
            position: relative;
            display: block;
            width: auto;
            max-height: 500px;
            font-family: "Lucida Console", Consolas, Monaco;
            word-break: break-all;
            overflow: auto;
        }

        pre code {
       		overflow: auto;  
        }
       
			.line-numbers {
            position: absolute;
            left: -40px; /* 调整行号位置 */
            top: 0; /* 确保行号垂直居中 */
            color: #ff0; /* 行号颜色 */
            user-select: none; /* 防止行号被复制 */
        }
       
        pre code::before {
            content: "c++ ";
            position: absolute;
            left: -2px; /* 调整行号位置 */
            top: 0;  /*确保行号垂直居中 */
            color: #ff0; /* 行号颜色 */
            user-select: none; /* 防止行号被复制 */
        }

            /* Copy code button styles */
         .copy-code-button {
              position: absolute;
              top: 2px;
              /* [disabled]padding-left: 1em; */
              /* [disabled]padding-bottom: 0.5em; */
              font-size: 14px;
              background-color: #747474;
              color: #fff;
              border: none;
              border-radius: 4px;
              cursor: pointer;
              padding-top: 0px;
              /* [disabled]left: 30%; */
              /* [disabled]bottom: 700%; */
              right: 2px;
           }
     </style>
	
	
	
第二个代码是
   
    <style>
  .container {
    position: relative;
    margin-bottom: 20px; /* 为了给按钮腾出空间 */
  }

  .copy-code-button {
    position: absolute;
    padding: 5px 10px;
  }
</style>
    
		<script>
  document.querySelectorAll(&quot;.copy-code-button&quot;).forEach(function(button) {
    button.addEventListener(&quot;click&quot;, function() {
      var codeElement = this.parentElement.querySelector(&quot;code&quot;);

      var textarea = document.createElement(&quot;textarea&quot;);
      textarea.value = codeElement.innerText;
      document.body.appendChild(textarea);

      textarea.select();
      setTimeout(function() {
        try {
          document.execCommand(&quot;copy&quot;);
          button.innerText = &quot;已复制到剪切板&quot;;
        } catch (err) {
          console.error(&quot;无法复制: &quot;, err);
        } finally {
          document.body.removeChild(textarea);
          setTimeout(function() {
            button.innerText = &quot;复制&quot;;
          }, 1500);
        }
      }, 100);
    });
  });
          
          function updateButtonPosition() {
      var rect = codeElement.getBoundingClientRect();
      button.style.top = (rect.top + window.scrollY) + &quot;px&quot;;
      button.style.left = (rect.right - button.offsetWidth) + &quot;px&quot;;
    }

    updateButtonPosition();

    window.addEventListener(&quot;resize&quot;, updateButtonPosition);
    window.addEventListener(&quot;scroll&quot;, updateButtonPosition);
          
</script>
	
	
    
第一个代码复制到<head>后,</head>前,第二个代码复制到</body>前。

    代码的运行

        在要添加的代码前后加上
    
   
   	<pre>
       <code>
       这里添加代码
	</code>
	<button class="copy-code-button">复制</button>
	</pre>
    

...

此博客中的热门博文

算法的八大常用思想