轻舟过
我要学Ruby,于是开个楼

本帖最后由 轻舟过 于 2012-7-27 17:26 编辑

先来吐槽下,在Ruby里0竟然被认为是true,这让其他编程语言情何以堪#7036!

有时间来更新下学习进度

其实是吐槽一下一些比较奇葩的特性,主要是相对C、C++、Java、python而言

奇怪的循环

像这种循环的写法还是挺带感的,看起来也挺直观,很容易能让人理解是“做了3次"和“从1一直做到9”

[mw_shl_code=ruby,true]3.times { print "Ruby! " }

1.upto(9) {|x| print x }

[/mw_shl_code]

都是表达式

在ruby里面所有东西都是表达式,这一点感觉比较特别,比如下面的语句是合法的

[mw_shl_code=ruby,true]minimum = if x < y then x else y end[/mw_shl_code]

这里不得不吐槽一下python里没有类似的语法并且还没有三元表达式?:。

前缀符号和后缀符号

Ruby里的函数可以有特殊符号前缀和后缀,返回布尔值的函数一般会以问号结尾(貌似在lisp里见过),感叹号结尾的成员函数一般会对类本身作修改,这样可以使代码可读性更强

另外,ruby还对不同作用域的变量的符号前缀做了约定。以$开始的变量为全局变量,以@开始的为实例变量

再另外,让我想不到的是“x=”这样的字符串竟然也可以是方法名,于是o.x=1实际上是调用了o的x=函数,好奇怪的特性!

注释

除了普通的以‘#’符号开头的单行注释外,还支持"=begin"和”=end“括起来的多行注释

轻舟过
周六开贴组织吧
展开Biu

Richeir 发表于 2012-7-27 09:14

周六开贴组织吧【诶,日记君的C++怎么办?~

好的

[查看全文]
Richeir
前原圭一
展开Biu

前原圭一 发表于 2012-7-27 09:42

这都能忘么

*37*

一般都会忘记的..

[查看全文]
前原圭一
我周六早上开贴组织
展开Biu

Richeir 发表于 2012-7-27 09:13

也是啊~我周六早上开贴组织,记得到时候提醒我哦~

#7096!这都能忘么

[查看全文]
Richeir
可以是可以
展开Biu

轻舟过 发表于 2012-7-26 14:52

可以是可以,不过不知道有没有时间和精力

如果能多召唤一些人轮着写就好了 ...

*80*周六开贴组织吧【诶,日记君的C++怎么办?~

[查看全文]
Richeir
前原圭一
展开Biu

前原圭一 发表于 2012-7-26 16:55

快我们先刷个ruby教程算了

*38*

也是啊~我周六早上开贴组织,记得到时候提醒我哦~

[查看全文]
前原圭一
每人轮着写
展开Biu

Richeir 发表于 2012-7-26 14:43

每人轮着写Python的基础教程啥的~

快我们先刷个ruby教程算了

[查看全文]
轻舟过
小郑大伟
展开Biu

小郑大伟 发表于 2012-7-26 15:01

纳尼,我是制作游戏向~GML是game maker languege乃2D游戏制作软件game maker内置语言,rm 是日式游戏制作 ...

了解了,不做游戏的还真不知道

[查看全文]
小郑大伟
为什么这些东西我都没听说过
展开Biu

轻舟过 发表于 2012-7-26 14:35

为什么这些东西我都没听说过,GML是什么,一种markup language吗

另外只知道有个命令叫rm,你说的肯定不 ...

纳尼,我是制作游戏向~GML是game maker languege乃2D游戏制作软件game maker内置语言,rm 是日式游戏制作软件rpg maker。

[查看全文]