Project1

标题: 关于ruby的一些问题 [打印本页]

作者: reg_214    时间: 2008-11-29 01:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-11-29 01:43
ruby里面没有for……next语句,好像也没有while……whend语句吧!goto语句也没有~~如果想要转到某一行,需要什么语句呢?~~~


ruby 的循环:(记得有5种)

     1. for …… end
     2. begin …… end
     3. while …… end


while……whend 的是不是 C++ 里的 switch …… case ?

是的话,在 Ruby 里就是 case …… when …… end

作者: orochi2k    时间: 2008-11-29 01:43
以下引用reg_214于2008-11-28 17:39:57的发言:


本贴悬赏额度如下:VIP:0   积分:100   
最近一个学期学了一大半的basic再来看ruby,觉得不那么晕了(虽然还有些晕吧!~~)
我知道了一些和ruby共通的地方,不对的还请帮忙改正一下!
首先是输出语句 print(ruby里面和basic好像都有这么个语句吧!后面可以跟变量名和"字符串")

ruby里面没有for……next语句,好像也没有while……whend语句吧!goto语句也没有~~如果想要转到某一行,需要什么语句呢?~~~

我觉得rmxp事件里面的那些变量和常量和basic里面的一维数组差不多吧~~~



有for....end结构和while...end结构
goto也可以用...不过不怎么推荐....

basic的数组只能存同类型数据
RUBY可以把数组当容器,什么东西都望里塞(这是很邪恶的)

更邪恶的是....RUBY从头到尾不被编译,就解释着做....

发完帖望天的时候神奇地发现楼上多了一层-_-0
作者: 八云紫    时间: 2008-11-29 01:46
以下引用orochi2k于2008-11-28 17:43:54的发言:

更邪恶的是....RUBY从头到尾不被编译,就解释着做....


编译 是需要的吧,只是和 C 的不一样。

C 是全部编译,然后运行;

Ruby 是边 编译 , 边 运行。
作者: reg_214    时间: 2008-11-29 01:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-11-29 01:50
以下引用reg_214于2008-11-28 17:49:05的发言:

我总是觉得ruby和foxbase很像
因为它们都没有行号~~~


有行号才好, 免得 在换行上出现问题。

作者: orochi2k    时间: 2008-11-29 01:53
以下引用八云紫于2008-11-28 17:46:09的发言:


以下引用orochi2k于2008-11-28 17:43:54的发言:

更邪恶的是....RUBY从头到尾不被编译,就解释着做....




编译 是需要的吧,只是和 C 的不一样。

C 是全部编译,然后运行;

Ruby 是边 编译 , 边 运行。


那个....我觉得这种应该叫"解释"来着的-_-0
编译会生成二进制或汇编的目标代码,但是跑RUBY时死活米发现这类东东
作者: 八云紫    时间: 2008-11-29 01:55
以下引用orochi2k于2008-11-28 17:53:47的发言:

编译会生成二进制或汇编的目标代码,但是跑RUBY时死活米发现这类东东


最后都会翻译成机器语言的,只是途径不一样罢了。
作者: reg_214    时间: 2008-11-29 02:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-11-29 02:03
以下引用reg_214于2008-11-28 18:00:23的发言:

我现在只是懂得了一些理论上的东西,可惜我不会ruby~~~~~(只要把ruby里面的那些语句都背过来应该就可以了)

想做个横板战斗的游戏,不是站上的那些!当切入到战斗画面的时候,可以控制人物的移动,当"J"按下的时候,如果主角的坐标=敌人的坐标,那么敌人HP=HP-(攻击力-防御力)

我觉得这个应该不难,只要把rgss里面的战斗脚本改一下应该就可以了吧!我想试试,看看1个月的时间能不能做出来~~~~


个人认为,战斗系统是 RM 里最最复杂的。 特别是 VX 的。
作者: reg_214    时间: 2008-11-29 02:08
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-11-29 02:10
以下引用reg_214于2008-11-28 18:08:48的发言:

是吗??
如果我把战斗改到像 (坦克大战)、(俄罗斯方块) 的那个窗口里面应该会简单些吧!~~
因为也没什么东西啊!~~必备的就是像 hp、mp条(敌人的要不要的没什么事),如果想美化一下可以显示一张PS过的图片,再往后无非就是主角的控制问题了!好像也没什么复杂的吧~~~~


嘛,主要是 流程 的控制。

还要考虑 FPS , Ruby 的效率是在是 不敢恭维 啊。
作者: 灼眼的夏娜    时间: 2008-11-29 02:42
以下引用八云紫于2008-11-28 17:55:04的发言:


以下引用orochi2k于2008-11-28 17:53:47的发言:

编译会生成二进制或汇编的目标代码,但是跑RUBY时死活米发现这类东东

最后都会翻译成机器语言的,只是途径不一样罢了。


RM的脚本不会被编译成机器语言的。

只有RM里ruby的解释器才是以机器语言的形式存在的,RGSS脚本只是运行在解释器上面的而已,和机器语言没关系。

解释再说白一点就是ruby的解释器定义一个规则,脚本按照这个规则写,解释器就执行相应的程序而已,不需要通过编译的。


作者: 八云紫    时间: 2008-11-29 02:44
以下引用灼眼的夏娜于2008-11-28 18:42:44的发言:

RM的脚本不会被编译成机器语言的。

只有RM里ruby的解释器才是以机器语言的形式存在的,RGSS脚本只是运行在解释器上面的而已,和机器语言没关系。

解释再说白一点就是ruby的解释器定义一个规则,脚本按照这个规则写,解释器就执行相应的程序而已,不需要通过编译的。


类似于 调用 程序 么?
作者: 灼眼的夏娜    时间: 2008-11-29 02:47
差不多吧。。 class def 这些就相当于ruby语言的一些规则,ruby解释器遇到class就知道要定义一个类了,然后定义类的程序也是调用解释器里的代码执行。= =
作者: 八云紫    时间: 2008-11-29 02:48
以下引用灼眼的夏娜于2008-11-28 18:47:07的发言:

差不多吧。。 class def 这些就相当于ruby语言的一些规则,ruby解释器遇到class就知道要定义一个类了,然后定义类的程序也是调用解释器里的代码执行。= =


明白了。 不过这么定义的话,能在什么方面取得优势呢? 效率? 速度?
作者: 灼眼的夏娜    时间: 2008-11-29 02:51
解释器的好处肯定不是效率 速度了,效率比机器语言执行慢多了。。最多就c语言的1/10。

解释器语言的最大好处就是动态!~ 一切都是动态的了,可以随便定义方法,撤销方法,反射编程等都非常方面。当然这只是一点点- -


作者: orochi2k    时间: 2008-11-29 03:26
RUBY的作者貌似说是为了让大家体验开发程序的快感,所以整了这么个东东-_-0
而我们也确实体会到了解释型语言比C系的开发效率提高-_-0(虽然以执行效率为代价)




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1