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

Project1

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

[讨论] 悟了,悟了,终于明白变量这玩意到底是啥了

[复制链接]

Lv1.梦旅人

超级囧神 无尽的灌水

梦石
0
星屑
144
在线时间
784 小时
注册时间
2010-6-27
帖子
2065
跳转到指定楼层
1
发表于 2013-8-25 22:17:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
变量啥也不是!它就是一个地址
a = 123
就是告诉你,123这个玩意存放在地址a的里面而已(不过地址在哪里就不知道了,是内存咩
所以一直以来难以弄懂的事情弄清了大半
拨云见雾啊
说来惭愧,没学好c的指针内容,所以对于x = xxx.new就弄不清为什么可以存放一个对象
而后,弄不懂属性这个东西为什么还可以继续存东西
不过现在终于懂了,属性就是一个变量,就是说它本身是一个地址
地址当然也可以作为另外一个内容(数组,变量,或者是对象)
而数组,由于c的这方面也没有学好,所以也弄混了
想通了之后自然就通了,数组就是一组为了方便而同一名字的变量(这里吐槽两句,由于没有内存地址,所以数组让我晕了许多次)
hash表只是一个方便操作的,一组变量而已
绕类绕去的脚本也不在那么绕啦!

——至于对不对,就由楼下的各位大大们pai啦

Lv1.梦旅人

梦石
0
星屑
117
在线时间
552 小时
注册时间
2012-8-18
帖子
1429
2
发表于 2013-8-25 22:32:39 | 只看该作者
听起来貌似没啥问题= =感觉LZ想太多,没必要先去弄懂这些乱七八糟的逻辑……

评分

参与人数 1星屑 +8 收起 理由
a554187203 + 8 很在意rmxp的变量,可存储的东西太奇怪了,.

查看全部评分

我要填坑!我要背单词!我要学日语!我要每天锻炼!
好吧呵呵= =
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
70
在线时间
1083 小时
注册时间
2013-3-29
帖子
2394
3
发表于 2013-8-27 17:07:29 | 只看该作者
其实的确不用想怎么乱七八糟的东西,简单的说变量就是一个可以在游戏里变动的数值。
可以变成糖果的持有数量,可以变成史莱姆的杀死量等。

坑的进度如上                                                                                                        点击↑
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
704 小时
注册时间
2011-12-27
帖子
941
4
发表于 2013-8-27 20:40:07 手机端发表。 | 只看该作者
數學正常也會在函數的一課教上變量……LZ沒有上課麼……
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
1
星屑
6616
在线时间
2650 小时
注册时间
2013-8-23
帖子
2315

开拓者

5
发表于 2013-8-27 22:15:09 | 只看该作者
变量就是会变的量嘛...

你赋值给他他就是什么

不赋值就是空的

点评

没赋值是空的那是编译器定的,没赋值的变量会使用一个垃圾值,这个值是以前程序使用的,因为程序结束后会释放所占的空间而不会清除里面的值。  发表于 2015-1-30 09:41
那常量不就是···  发表于 2014-11-9 13:17
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
131
在线时间
85 小时
注册时间
2013-7-24
帖子
219
6
发表于 2014-3-28 18:05:53 | 只看该作者
这东东还用想?直接第一个事件设变量某某某为0或者其他,想要用这个事件调用另一个事件,比如接受任务找某某某谈话等,设这个变量大于这个数字,然后想调用就一直调用呗。
LZ没上过课吗……
终于放假了,正在尝试肝出一款新游戏
回复 支持 反对

使用道具 举报

Lv3.寻梦者

○赛

梦石
0
星屑
1249
在线时间
1276 小时
注册时间
2013-1-22
帖子
2246

贵宾

7
发表于 2014-3-28 18:14:27 | 只看该作者
1697665228 发表于 2014-3-28 18:05
这东东还用想?直接第一个事件设变量某某某为0或者其他,想要用这个事件调用另一个事件,比如接受任务找某 ...

楼主说的不是变量的用法吧……
一个变量不止是一个数字,还可以是数组、哈希、文字等……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
8
发表于 2014-3-28 19:08:19 | 只看该作者
1697665228 发表于 2014-3-28 18:05
这东东还用想?直接第一个事件设变量某某某为0或者其他,想要用这个事件调用另一个事件,比如接受任务找某 ...


歧义

LZ的意思是 变量值 保存在以 变量名 为地址 的内存中
比如 a = 11
a与其说是一个变量名 不如说是一个地址
11这个数据 保存在 a 这个地址中
之所以变量名相互之间不同 就是 给定的不同地址

有某教程挺好的 编写脚本不是梦——手把手帮你蜕变成脚本党 by RyanBern

点评

纠正一下11是已二进制储存的,计算机底层只能识别二进制。  发表于 2015-1-30 09:43
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
329
在线时间
890 小时
注册时间
2009-10-12
帖子
1829
9
发表于 2014-5-18 23:10:30 | 只看该作者
欠K罗琳 发表于 2014-5-18 16:49
弄到25积分才了解,进度实在太慢了。我6积分已经开始写脚本了。


简直无力吐槽啊。。

ok不多说ls。。。
======
从实用角度来看,变量就是为了变而存在的。数学中也有变量的应用,这才是变量的本质.基础。【因为发明变量这个东西的人一定还没用过电脑撒】

当然cs里的说的变量和数学里的变量又稍有不同~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

10
发表于 2014-5-19 19:06:39 | 只看该作者
本帖最后由 IamI 于 2014-5-19 19:08 编辑

Value class & Ref class.
Ruby 这方面不清楚,为了避免被嘲笑,用托管C++(C++.Net)举例子。

Value Class,比如int(Fixnum), char, float,占用固定长度的字节,宣言的变量对应内存位置上仅有目标数值。
Value Class 在传值时,与源失去联系。
Value Class 可以被取成指针来达成别名,现代语言一般会提供一个指针封装,比如NSNumber与NSInteger,当然Ruby只有Fixnum。
Value Class 一般长度不是很长。
你可以用关键字struct来宣言一个Value Class。
仅在托管C++中,你可以用关键字value class 来宣言一个Value Class。
离开有效域,对象灭失。

Ref Class, 比如String,宣言的变量内存对应位置是一个指针(有GC的语言严格来说是句柄,或者可变指针),长度可以固定也可以变长,指向堆栈中的实际值。
现代语言中,一般不允许宣言Ref Class 的实体。Ruby 中除了Fixnum,Float,Bignum(存疑,我忘了……)以及RGSS的Rect,Color,Font(存疑)以外都是Ref Class。
这个类在传值时,依然是原来指向的对象,因为是指针传值。
这种类一般会提供一个Clone方法来获得一个Copy。
Ref Class 可以令人发指的长。
你可以用关键字class来宣言一个Ref Class。
仅在托管C++中,你可以用关键字ref class 来宣言一个Ref Class
不再有指针指向时,有GC的语言会析构对应实体。
Ruby 中只允许用class关键字宣言ref class。Struct是一个抽象类而不是关键字。
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 18:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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