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

Project1

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

[已经解决] 可以用生成一个Class类的实例的方法来定义一个新类吗?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
152
在线时间
78 小时
注册时间
2012-8-16
帖子
44
跳转到指定楼层
1
发表于 2017-6-15 18:25:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
虽然这个问题可能没什么凤凰卵用,但觉得很有趣所以想问问

Lv3.寻梦者

梦石
0
星屑
4598
在线时间
1206 小时
注册时间
2016-4-7
帖子
982

开拓者

2
发表于 2017-6-15 20:11:27 | 只看该作者
本帖最后由 shitake 于 2017-6-15 20:13 编辑

a = Class.new()
a.class_eval do
  def x
    @x
  end
  def initialize(x)
    @x = x
  end
end

aa = a.new(233)
aa.x
# => 233
附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9732
在线时间
3227 小时
注册时间
2011-3-24
帖子
739

开拓者

3
发表于 2017-6-15 22:24:39 | 只看该作者
我是这么想的:
类的命名和常量的命名规则是一样的
我认为它们有某种联系
那就是
class 类名 ~ end
这样来定义的类
也许等同于
类名 = Class.new do ~ end
也就是说我觉得 定义一个类 就是生成Class对象 然后类名就是一个常量名 这个常量就是这个Class对象
RUBY 代码复制
  1. KLAZ = Class.new do
  2.     def mtd
  3.         puts 'test'
  4.     end
  5. end
  6. class KLAZ
  7.     def mtd2
  8.         mtd
  9.     end
  10. end
  11.  
  12. KLAZ.new.mtd2 #====> test
>>→Lanza Games 2020←<<
Lanza Schneider
浪子心,孤星梦永远流浪……
~不会放弃,我的精力永远充沛~
>>>>>Lanza Adventure<<<<<
>>>>>Lanza的新年派对!<<<<<
>>>>>Lanza的口袋心脏病!<<<<<
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23999
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

4
发表于 2017-6-16 06:26:47 | 只看该作者
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 08:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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