幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3644|回复: 11

[RMXP] [求助] 下定决心学脚本来着…………

[复制链接]

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2007-3-13 06:53:35 | 显示全部楼层 |阅读模式
class C
  def initialize
    @ary = [0,1,2,3,4,5,6,7]
  end
  def [](i)
    @ary[i * 2]
  end
  def []=( i, v )
    @ary[i * 2] = v
  end
end
c = C.new
p c[3]      # 变成 c.[]( 3 ), 结果为6
p c[3] = 1  # 变成 c.[]=(3,1),结果为1


解释一下呗%
def [](i)  函数的定义怎么def 后面没有函数的名称来?(i)是什么意思?

c = C.new是什么??
为什么C.new??这是干什么的?

@是实变量,,是不是只能赋值实数的意思?

这条脚本能不能解释一下? [s:8]
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
 楼主| 发表于 2007-3-13 07:07:31 | 显示全部楼层
表达式 '=~' 表达式          # 等同于 !(表达式 =~ 表达式)
是个什么意思?=~是什么运算符啊?
还有!~是什么运算符啊?


能够重定义的运算符(方法)

+@、-@ 表示单项运算符 +、-,在方法定义等场合中可以使用这种表示法。

单项运算符?是什么,赋值用=不是单向的? [s:8]
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

好人卡的 该用户已被删除
发表于 2007-3-13 11:32:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
 楼主| 发表于 2007-3-13 11:51:55 | 显示全部楼层
原来…………是这样………………

还有
一楼的那个解释一下呗 [s:8]
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

好人卡的 该用户已被删除
发表于 2007-3-13 12:01:27 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

3

主题

232

帖子

583

积分

⑤进阶

哇咔咔~传说中的称号.

积分
583
发表于 2007-3-13 13:31:18 | 显示全部楼层
[]跟[]=都是数组的方法
方法后面的()里的东西为参数```
我记得F1里有讲过这些特殊方法来着```` [s:5]
.new生成一个类的实例```
这个方法是在Calss类里定义的说``````具体看F1

@实变量````可以在该类或子类的任意地方使用``` [s:8].. [s:8] [s:8]
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
 楼主| 发表于 2007-3-13 14:21:56 | 显示全部楼层
偶就是在看F1,,可是还是有看不太懂的地方,有些讲的我迷迷糊糊的………… [s:8]

+@、-@ 表示单项运算符 +、-,在方法定义等场合中可以使用这种表示法。
这是什么东西?看不懂列…………单项运算符是干什么的?

alias :foo :bar
这种“:”表示什么?我在F1里看到了…………好像有讲,回去找又找不到了………… [s:5]



迭代器例子:

[1,2,3].each do |i| print i*2, "\\n" end
[1,2,3].each {|i| print i*2, "\\n" }

语法:

method(arg1, arg2, ...)  do ['|' 表达式 ... '|'] 表达式 ... end
method(arg1, arg2, ...) '{' ['|' 表达式 ... '|'] 表达式 ... '}'

所谓迭代器是指,为了对控制结构(多见于循环)进行抽象化而设计的方法。将 do...end 或 {...} 中的代码片段(也就是块)添加在方法后面,然后再调用该方法时,就能从该方法内部对块进行计算。在迭代器内进行块调用时使用 yield 表达式。传给 yield 的值会被赋值给夹在“||”中的变量。

{...} 比 do...end 块的结合能力强。

foobar a, b do .. end   # foobar 是带块的方法
foobar a, b { .. }      # b    成了带块的方法

块中首次被赋值(声明)的局部变量的作用域仅限于该块。

foobar {
  i = 20                # 声明了局部变量 i
   ...
}
                        # 此处的 i 尚未定义
foobar a, b do
  i = 11                # 声明了一个新变量 i
   ...
end

迭代器的返回值与通常的方法是一样的,若块中的 break 引起中断时,将返回 nil。若 break 带参数的话,该参数的值就是带块方法的返回值。


这个迭代器压根就看不懂了………… [s:5]    可以用通俗的语言解释下么? [s:6]

问题好多啊……  [s:5] 这东西真不容易………… [s:6]
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
 楼主| 发表于 2007-3-13 14:37:50 | 显示全部楼层
是不是后面的RGSS参考都要看完阿?怎么越看越迷糊了…… [s:5]  [s:8]
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

3

主题

232

帖子

583

积分

⑤进阶

哇咔咔~传说中的称号.

积分
583
发表于 2007-3-13 14:43:15 | 显示全部楼层
这里已经属于RUBY部分了```` [s:5]

看看这里吧``会对你有帮助的
http://rubycn.ce-lab.net/faq/index.html
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
 楼主| 发表于 2007-3-13 15:31:52 | 显示全部楼层
6楼的问题大大们通俗的解释一下呗?
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-24 15:58 , Processed in 0.010903 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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