关于Context的思考

123 阅读2分钟

「这是我参与2022首次更文挑战的第12天,活动详情查看:2022首次更文挑战

Context是什么意思呢?

记得一开始学习Android的时候,看到context总是有点晕,上下文是什么意思。
近期在阅读《数学之美》一书时,对此有了更深的理解,略为小记。
“文字按照意思来类聚,最终会带来一些歧义性,也就是说有时弄不清楚一个多义字在特定环境下它到底表示其中的哪个含义。而解决这个问题的方法,过去的先生和今天的学者也没什么不同,都是依靠上下文。有了上下文,大多数情况下多义字的去除歧义性都可以做到。比如在中国的象形文字中,“日”本义就是太阳,但它同时有时太阳从升起到落山再到升起的时间周期,也就是我们讲的一天。”
联系到Android,不也是如此。因为Java面向对象的三大特征:封装、继承、多态封装和继承,在调用方法时,只有确定上下文到底是什么,才知道到底去调用的是哪个方法。

另外,里面一个有意思的叙述是,“当个别多义字根据上下文仍然无法去除歧义性的时候,就导致了学者们对某段话理解上的不同。中国古代学者对儒家经典的注释和正义,其实都是按照自己的理解做消除歧义性的工作。”
这个解释真是有意思极了是不是。

还看过一个有意思的回答,在语言学里,语意学(semantics)不包含语境(context),语用学(pragmatics)则考虑到语境对语意的影响。在编程中,也就是一些编程构件(如函数)需要考虑到当时的编译/运行环境,才能理解它的语意/运行结果。