lua 模拟 c中 a?b:c 的问题

fuqingchenlh 2008-10-24 10:48:21
"我们可以模拟C语言中的语句:x = a? b : c,在Lua中,可以写成:x = a and b or c。"

我看多数文档都提到这点, 可是很明显当 b 为false或 nil 时, 有不成立的表达式
...全文
120 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Superaltman 2011-05-05
  • 打赏
  • 举报
回复
那里的漂亮了。
同意楼主的看法 当a为true b为nil时 返回还是c
ren03 2008-10-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Arthur_ 的回复:]
引用 3 楼 once_and_again 的回复:
#define luaM_newvector(L,n,t) \
cast(t *, luaM_reallocv(L, NULL, 0, n, sizeof(t)))

lua写 的太漂亮了


想见识下, 有没有多点的代码可以欣赏下呢
[/Quote]
me too
Arthur_ 2008-10-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 once_and_again 的回复:]
#define luaM_newvector(L,n,t) \
        cast(t *, luaM_reallocv(L, NULL, 0, n, sizeof(t)))

lua写 的太漂亮了
[/Quote]

想见识下, 有没有多点的代码可以欣赏下呢
pingzi_1119 2008-10-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 once_and_again 的回复:]
#define luaM_newvector(L,n,t) \
cast(t *, luaM_reallocv(L, NULL, 0, n, sizeof(t)))

lua写 的太漂亮了
[/Quote]
up
once_and_again 2008-10-24
  • 打赏
  • 举报
回复
#define luaM_newvector(L,n,t) \
cast(t *, luaM_reallocv(L, NULL, 0, n, sizeof(t)))

lua写 的太漂亮了
once_and_again 2008-10-24
  • 打赏
  • 举报
回复
lstrlib.c: return (pos >= 0) ? pos : 0;
xhs_lh04 2008-10-24
  • 打赏
  • 举报
回复
x = a and b or c不对吧?
if a x=b else x=c啊,不理解
fuqingchenlh 2008-10-24
  • 打赏
  • 举报
回复
晕, 随便从lua源代码中找出片断贴上来, 做什么?!

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧