从编程中理解:大脑的局部与全局模式

本文通过一个虚构的故事讲述了郭靖在Unity编程时遇到的问题,展示了局部变量和全局变量的区别。故事启示我们在面对干扰和偏见时,切换到全局视角能更好地解决问题和沟通。
摘要由CSDN通过智能技术生成

        郭靖正在帐篷中用Unity写代码,刚写完一段代码。欧阳锋从帐篷外走进来,正要说点什么,郭靖反应敏捷,转身反手一招神龙摆尾击出,将欧阳锋震出帐篷,灰溜溜逃跑。

using UnityEngine;

public class LocalGlobalDemo : MonoBehaviour
{
    int global = 10;

    void Start()
    {
        int local = 10;
        Excute();
        Debug.Log(global);
        Debug.Log(local);
    }

    void Excute()
    {
        global++;
        local++;
    }
}

        local++;下面有条红色的波浪线,表示这一句存在错误,郭靖没想明白欧阳锋为何进来,看着屏幕上的代码陷入沉思。一阵风吹过,欧阳锋再度冲入帐篷向郭靖袭来,这次他使上蛤蟆功,势要将他拿下。没想到郭靖使出左右互搏术,欧阳锋一时要对付两名郭靖,左右手自顾不暇,一掌被郭靖击出帐篷,灰溜溜逃跑。

        郭靖被欧阳锋激怒,心里愤愤不平:这混蛋今天吃错了什么药,这么来劲。但眼下完成作业对他更重要,他带着忐忑不安的心情切换出了Unity的编辑器,正想着运行代码看看,无意间撇了一眼Unity左下角的位置,报错了?报错提示为:

Assets\Scripts\LocalGlobalDemo.cs(18,9): error CS0103: The name 'local' does not exist in the current context

郭靖恍然大悟,提示local这个变量在当前上下文中不存在,因为local是局部变量,在Excute方法中看不到Start方法中int local=10;的定义;上下文中有int global=10;的定义,global是全局变量,在Excute方法中可以看到global,可以正常使用。正确的代码应该是:

using UnityEngine;

public class LocalGlobalDemo : MonoBehaviour
{
    int global = 10;

    void Start()
    {
        int local = 10;
        Excute();
        Debug.Log(global);
        Debug.Log(local);
    }

    void Excute()
    {
        global++;
    }
}

修改后他自信地运行代码,结果为:

        郭靖欣喜若狂,成功了!此时欧阳锋杀入帐篷,趁他不备,从他背后袭来,一掌将他击出内伤,然后晕过去……

        我们的大脑在专注做一件事情的时候,突然有人来打扰,受到对一个人的偏见,很容易进入到局部模式,就好像局部变量,它的作用范围只在Start方法内,Start方法之外的世界它看不见。我们都知道欧阳锋心狠手辣,郭靖反击一点也不意外,但这是我写的一个故事,欧阳锋进来的时候要说点什么,如果他只是想和郭靖一起讨论编程上的问题呢?郭靖可能只是觉得欧阳锋没有征求他的意见就闯入他的帐篷,觉得无理,故一掌击出。

        我们的大脑在专注做一件事情的时候,突然有人来打扰,更需要努力切换到全局模式,就好像全局变量,它可以看到整个类中的世界,可以在Excute方法中执行global++;并在Start方法中将最终结果显示出来。如果郭靖当时切换到全局模式呢?他可能愿意给予欧阳锋说话的时间,让他把事情说清楚,这样他们就会一起讨论编程的事情,也就不会有欧阳锋心里愤愤不平后面两次的偷袭,郭靖也就不会因此受伤。

  • 45
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神气仙人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值