设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1691|回复: 3
打印 上一主题 下一主题

[交流讨论] 一个非常非常小的Ruby问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1934
在线时间
403 小时
注册时间
2015-8-30
帖子
395
跳转到指定楼层
1
发表于 2017-7-24 15:58:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
对于这个问题我曾一度感到有些困惑。。。
在一些地方(忘了哪些地方),说首字母大写的标识符(而且不带“@”“$”什么乱七八糟的东西)是常量;还有一些地方(我也忘了)说全部字母大写的标识符(同样不带乱七八糟的前缀)是常量,,
不过虽然无论怎么弄,在Ruby的世界连常量都可以随意修改(warn只需要修改一下一个全局变量就全消失了),而且就算是大写还有可能是叫做“方法”的东西不是,但这仍然是一个本质性的问题。。。
我知道很多人,包括标准库,都是用全大写来表示常量;但比如说我就喜欢只有首字母大写的东西(我还知道有人喜欢用全局变量和类变量什么的。。。)
看上去在RGSS3只需要首字母大写就会被认为是常量?那为什么还需要全部都大写呢?
(另外附带一个更小的问题,,像“++”这样在Java很简单方便的东西为啥在Ruby定义不出来啊)
小仙女一枚~

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2207
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2017-7-24 18:07:13 | 只看该作者
这是 Ruby 中的 convention。你有充足的理由的话当然可以不遵守。

CamelCase(RGSS 中是 Camel_Case 感觉挺难看的) 通常表示内容是模块和类的常量,而 SCREAMING_SNAKE_CASE 通常表示其他常量。这样做的好处是看到常量名就知道他是不是类/模块了。


下面那个,大概是因为怕有人玩出 (a++)+(++a) 的花样吧……
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19279
在线时间
3074 小时
注册时间
2013-1-11
帖子
1288
3
发表于 2017-7-24 18:08:15 | 只看该作者
本帖最后由 张咚咚 于 2018-12-17 09:54 编辑

可以c = 5 + (a+=1)-1、c = 5 + (a+=1),满足a++和++a

点评

帮忙解决下我的帖子233  发表于 2017-7-24 18:22
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-20 18:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表