查看: 2409|回复: 4

[已经解决] 脚本学习问题

[复制链接]
梦石
2
星屑
34497
在线时间
614 小时
注册时间
2014-7-18
回帖
647

MZ评测员开拓者

发表于 2015-2-10 20:30:55 | 显示全部楼层 |阅读模式

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

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

×
如图,有以下两个问题:
1.什么是先准备 @name 实例变量,使用 name、name= 方法使对象的实例变量在对象外也可以访问?
2还有def name=(name)    @name = name
  end
是函数定义,还是定义新方法?

就是这里

就是这里

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-2-10 20:44:23 | 显示全部楼层
本帖最后由 taroxd 于 2015-2-10 20:49 编辑

1. alex.name = "阿莱库斯"   这句话是在对象外的。你不能靠 @name = "阿莱库斯" 来更改它的值,所以要通过 name= 方法来访问。

“准备实例变量”这句话就是说这个例子用到了 @name 实例变量的意思... 大概是翻译表达不确切吧。我也忘了这句话是不是我翻译的了。总之这句话不重要,无视就好了。

2. 函数和方法在 Ruby 中基本是同义词。一般称方法居多。
回复

使用道具 举报

梦石
2
星屑
34497
在线时间
614 小时
注册时间
2014-7-18
回帖
647

MZ评测员开拓者

 楼主| 发表于 2015-2-11 19:13:26 | 显示全部楼层
taroxd 发表于 2015-2-10 20:44
1. alex.name = "阿莱库斯"   这句话是在对象外的。你不能靠 @name = "阿莱库斯" 来更改它的值,所以要通过 ...

1.什么是在对象外?
2.什么是name= 方法?
3.为什么我没见过def name=(name)   
@name = name
  end 的形式?
4.什么是foo.name = bar 的形式
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-2-11 19:43:08 | 显示全部楼层
xjzsq 发表于 2015-2-11 19:13
1.什么是在对象外?
2.什么是name= 方法?
3.为什么我没见过def name=(name)   

1. 这个问题要说清楚很复杂。简而言之,在方法定义中就是对象内,否则基本上是对象外(不考虑类和顶层环境也是对象)。
[pre lang="ruby"]
# 对象外
class SomeClass
  def some_method
    # 对象内
  end
  # 对象外
end
# 对象外[/pre]

2. 一个方法,名字叫做 name=

3. 在脚本编辑器里全局搜索 =(
  大概能看到近50个结果吧

4. 小明.名字 = 小红

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 那么"小明"到底叫啥_(:з」∠)_.

查看全部评分

回复

使用道具 举报

梦石
2
星屑
34497
在线时间
614 小时
注册时间
2014-7-18
回帖
647

MZ评测员开拓者

 楼主| 发表于 2015-2-11 20:57:10 | 显示全部楼层
taroxd 发表于 2015-2-11 19:43
1. 这个问题要说清楚很复杂。简而言之,在方法定义中就是对象内,否则基本上是对象外(不考虑类和顶层环 ...

非常感谢,问题已解决
你帮我回答一下我的“ 脚本冲突问题”的帖子吧,万分感谢!!!
诚挚要求(或叫恭请,劳驾您)
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部