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

Project1

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

新手脚本问题

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-6-23
帖子
294
跳转到指定楼层
1
发表于 2007-7-6 01:40:11 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2007-2-18
帖子
2464
4
发表于 2007-7-6 01:47:51 | 只看该作者
赋值例子:

foo = bar
foo[0] = bar
foo.bar = baz

语法:

变量 '=' 表达式
常量 '=' 表达式
表达式 '['表达式..']' '=' 表达式
表达式 '.' 标识符 '=' 表达式

我们使用赋值表达式向变量等对象进行赋值。赋值也可以用作局部变量和常数的声明。赋值表达式的左边必须是下列之一。

变量

变量 '=' 表达式

若左边是变量的话,就将表达式的计算值代入其中。

数组调用

表达式1 '[' 表达式2 ... ']' '=' 表达式n

先计算表达式 1 得到一个对象,再把从表达式 2 到表达式 n 作为参数,来调用该对象的“[]=”方法。

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

属性调用

表达式1 '.' 标识符 '=' 表达式2

计算表达式 1 得到一个对象,再以表达式 2 为参数来调用该对象的“标识符=”方法。

class C
  def foo
    @foo
  end
  def foo=( v )
    @foo = v
  end
end
c = C.new
c.foo = 5   # 变成 c.foo=( 5 )
p c.foo     # => 5

还可以使用 attr_accessor 来定义属性。

class C
  attr_accessor :foo
end
c = C.new
c.foo = 5   # 变成 c.foo=( 5 )
p c.foo     # => 5


系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

圣魔

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-1-12
帖子
3395
3
发表于 2007-7-6 01:44:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-6-23
帖子
294
2
 楼主| 发表于 2007-7-6 01:40:11 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2025-9-21 21:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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