最近朋友面试,碰到腾讯的一道lua的面试题,乍一看,感觉完全不懂,实在是太水了,先附上题目

function class(...)
    -- TODO
end

-- TODO 补充修改实现 class 方法
A =
    class {
    name = string,
    age = int,
    foo = function()
        print('from A', name, age)
    end
}

B =
    class {
    __super = A,
    foo = function()
        print('from B', name, age)
    end
}

local a = A()
a.name = 'hanmeimei'
a.age = 17
a:foo()

local b = B()
b.name = 'lilei'
b.age = 18
b:foo()

a.name = 20
a.age = '20'
b.foo = 'x'

-- 输出

-- from A hanmeimei 17
-- from B lilei 18
-- 类型不匹配:name 的类型是 string
-- 类型不匹配:age 的类型是 number

-- 函数不能赋值

第一眼看过去感觉完全看不懂,不过幸好网上有找到网友分享的博客:

https://blog.csdn.net/zhenghongzhi6/article/details/99084309

这个链接中博主也是给了很多提示的,建议一定要去看看。

答案链接:

https://mp.weixin.qq.com/s?__biz=MjM5Mzg2Nzg2MQ==&mid=309477909&idx=1&sn=f8b3c570afdf627e47fad549061cb2a6&chksm=3116932f06611a390dee118b3cb51e9f94f79ccb07e85c2dd0020e59f71b5c23fa3ac5520408&scene=20&xtrack=1&key=6401b985c78d53407fdef9942899f04a5573d4f83f96ca53e4c553976bba7c828e97e762cd812c134fdca8e2f5acf861091947d9eb309c9c793e764ed9f25dc2f17e1aa6d3e79bfbdf8fa54264cf76c4&ascene=1&uin=MTM3NTY2ODUyMA%3D%3D&devicetype=Windows+10&version=62060833&lang=zh_CN&pass_ticket=WYLdVRms9j7z%2BA1xjdJl9h6pka6rBWNMtn0mI4AavwVfaYuPSPDozrZzeySrC2z%2B

也是基于求知欲,自己反复看,各种查资料,自我感觉是理解了,所以现在分享一下,也算是记录一下,毕竟记性这种东西是不可信的。

先在图片中标注一下,关于序号中出现的问题,我会贴上我看过的链接

这是题目部分,接下来我们看看class的具体实现:

继续往下看:

最后:

下面贴一下我都浏览过的链接(序号对应链接地址):

1.https://www.jb51.net/article/55805.htm

2.https://www.runoob.com/lua/lua-metatables.html

3.同1

4.https://blog.csdn.net/jayson520/article/details/51498848/

5.https://www.runoob.com/lua/lua-debug.html

6.同1

7.同5

8.同2

9.同2

10.https://blog.csdn.net/jayson520/article/details/51498848/

也是很久没写过了,可能写的有点乱。主要也是今天才看完,就想趁着还没忘赶紧记下来。如果有问题的话可以留言,也是蛮晚了,我眼睛都是眯着敲的。可算是弄完了,就先这样吧,晚安

lua面试题,李雷与韩梅梅相关推荐

  1. 腾讯最难lua面试题答案及解析

    最近看到了一道号称腾讯最难的lua面试题: 研究了一下答案实现的过程,发现这题主要考察了元表和元方法.面向对象.环境这三个知识点,非常值得学习.题目如下: function class(...)--T ...

  2. #25 李雷向韩梅梅求婚

    李雷向韩梅梅求婚,韩梅梅说过一段时间(20~50ms)再回复他. 完成 proposeToMissHan 函数,会传入一个布尔值参数 isOK,用来预先设定是否答应李雷的求婚.这个函数会返回一个 Pr ...

  3. 新版「李雷与韩梅梅」深度好文

    阅读文本大概需要 6.3 分钟. 李雷和韩梅梅青梅竹马,一直被邻居们看好,他们俩就读于某镇重点中学,鉴于老师的谆谆教诲: "一定要努力学习,争取考上一所好学校,否则将来找不到好工作" ...

  4. lua面试题:热更新简介、原理及示例

    1.什么是热更新? 热更新也叫不停机更新,是在游戏服务器运行期间对游戏进行更新.实现不停机修正bug.修改游戏数据等操作.也可以这样讲:一辆车以时速150km跑着,突然爆胎了,然后司机告诉你,我不停车 ...

  5. 面试lua笔试题各种坑

    替换字符串"abcdefgh" 中的"abc"为"ddc" local str ="abcdefgh"; b = str ...

  6. https信鸽李雷韩梅梅

    本文其实总体算是一篇译文,原作在此HTTPS explained with carrier pigeons, 看完不禁感叹作者的思路清奇,于是跟风把原文重新"诠释"一下 - 你在 ...

  7. 2022年Unity客户端面试题总结

    一.前提 在工作几年,经历过几次面试之后,都会发现不同的公司的面试套路都是大同小异的.但是很多知识点在工作当中并不会经常性的使用,所以在面试之前都需要"临时抱佛脚".我之前准备面试 ...

  8. Unity客户端面试题集锦

    正在求职中&近期准备开始求职的小伙伴们看过来-贴心的我,这次又给大家准备了[面试题大礼包]!! Unity游戏开发工程师的面试过程中,我们总能接触到许多眼熟的面试题目,这部分的分数如果不小心丢 ...

  9. springsecurity sessionregistry session共享_不用 Spring Security 可否?试试这个小而美的安全框架...

    写在前面 在一款应用的整个生命周期,我们都会谈及该应用的数据安全问题.用户的合法性与数据的可见性是数据安全中非常重要的一部分.但是,一方面,不同的应用对于数据的合法性和可见性要求的维度与粒度都有所区别 ...

最新文章

  1. 3天学会TensorFlow | 香港科技大学
  2. java 建立网站_建立基本的Java Web站点
  3. 【EventBus】EventBus 源码解析 ( 取消订阅 )
  4. Git——git push 错误[ ! [rejected] master - master (non-fast-forward)]解决方案
  5. nlp中的经典模型(三)
  6. 好爸爸陪宝宝必做的50件小事儿
  7. python函数测试_Python测试函数的方法之一
  8. java 编写无状态代码,一种真正实现RMI无状态化的方法续:JVM源码修改步骤
  9. xvid开放源码xvidcore-1.1.3.zip在VC下成功编译的方法
  10. 阿里云服务器ECS建站教程
  11. java如何知道城市是省会_全国各省的省会都是怎么确定的?
  12. C++定义复数类(Complex)
  13. redis desktop manager安装以及使用教程
  14. 阿里云申请免费SSL证书
  15. 怎样串联两台无线路由器:[1]二级路由设置
  16. 一加5应用未安装怎么解决_一加手机x安装不了软件下载是什么原因解决方法
  17. mongodb误删数据该如何恢复
  18. java 处理unicode_[转]Java的Unicode编码转化(多种情况处理方法)
  19. Unity 微信小游戏转回WEBGL发布设置
  20. 思科模拟器CISCO/华为模拟器ENSP配置一个完整的校园网(网络安全、数据冗余)

热门文章

  1. 【业界】年终特稿:2006中国互联网搜索大事记
  2. 《惢客创业日记》2018.10.03(周三) 给《奇葩说》提供的三个辩题
  3. ANSI/UL 94 5-V级垂直燃烧试验
  4. NS2仿真实验环境组建
  5. 用计算机求平均数ppt,华东师大版八年级数学下册《用计算器求平均数》.ppt
  6. 【杂谈】hexo网站next主题背景图片和超链接颜色问题
  7. Python基础必掌握的条件语句详解
  8. 【Bootstrap】Bootstrap框架认识和使用
  9. Struts学习笔记--(二)Struts基础
  10. PADS VX2.8 焊盘方式出线的选择方法