Project1

标题: 最美不过RUBY。 [打印本页]

作者: 神思    时间: 2011-7-20 03:45
标题: 最美不过RUBY。
本帖最后由 神思 于 2011-7-20 03:49 编辑

哈哈,过下瘾而已,编码编的头都晕晕的了。
  1. class SuperObject
  2.   def method_missing(method, *args)
  3.     if(@@methodsMap[[method,args.length]] != nil)
  4.       return SuperObject.call(method, *args);
  5.     else
  6.       return super
  7.     end
  8.   end
  9.   
  10.   @@methodsMap = Hash.new();
  11.   def self.define(method, &proc)
  12.     @@methodsMap[[method, proc.arity]] = proc;
  13.   end
  14.   
  15.   def self.call(method, *args)
  16.     @@methodsMap[[method, args.length]].call(*args);
  17.   end
  18.   
  19.   def self._return(*args)
  20.     return *args;
  21.   end
  22.   
  23.   define(:print){|arg1|
  24.     _return arg1 * 2;
  25.   }
  26.   
  27.   define(:print){|arg1, arg2|
  28.     _return arg1 * 2 * arg2
  29.   }
  30.   
  31. end

  32. p SuperObject.new().print(2);

  33. j = SuperObject.new().print(2, 2);
  34. p "j=#{j}";
复制代码

作者: IamI    时间: 2011-7-20 06:30
你赢了= =b 再来个__id__吧
作者: 赛露休斯    时间: 2011-7-20 07:02
好高深的代码
1、@@methodsMap后面为什么用两个[[ ]] ?
2、method_missing这个方法在哪里调用了?还是说print会自动调用?
3、define这个是什么意思?什么作用?
作者: DeathKing    时间: 2011-7-20 07:13
动态可是Rubu的魂啊。
作者: 心雪    时间: 2011-7-26 18:29
赛露休斯 发表于 2011-7-20 07:02
好高深的代码
1、@@methodsMap后面为什么用两个[[ ]] ?
2、method_missing这个方法在哪里调用了?还是说pr ...

1 @@methodsMap是一个哈希表,其键是数组,所以用了两个[]
2 这个方法会在找不到方法的时候调用
3 define会把语句块作为值,参数和语句块中的参数个数组成的数组作为键,写入哈希表中

总之就是把proc作为方法来用啦
作者: 一瞬间的幻觉    时间: 2011-7-26 18:48
Proc.new这个好熟悉,貌似昨天刚和剑剑说到这个
作者: 匿名    时间: 2011-7-26 19:32
本帖最后由 匿名 于 2011-7-26 19:32 编辑


自从用了RUBY,DOS也能多线程
自从到处充满了EVAL,教科书上的哈佛VS冯诺依曼结构大战实际上冯诺依曼已经被败了。
自从充满了动态,呃……等等C那里其实也能做到,不过不是每个人都能适应漫天的指针和一大堆需要自己操作的东西

作者: 胖达达人    时间: 2011-7-26 20:25
匿名者 发表于 2011-7-26 19:32
自从用了RUBY,DOS也能多线程
自从到处充满了EVAL,教科书上的哈佛VS冯诺依曼结构大战实际上冯诺 ...

C不是编译的么,如何动态…
作者: orochi2k    时间: 2011-7-26 21:26
胖达达人 发表于 2011-7-26 20:25
C不是编译的么,如何动态…

C能写RUBY解释器~\(≧▽≦)/~
所以RUBY还是C(大雾)
作者: 雷欧纳德    时间: 2011-7-26 22:31
c能实现伪动态。。。
作者: 匿名    时间: 2011-7-26 23:27
其实这栋楼是给程序员搅基用的
作者: 枫起    时间: 2011-7-27 00:35
自从看了ruby。。。C++什么的写起来感觉很蛋疼。。。
作者: 熊的选民    时间: 2011-7-27 08:23
枫起 发表于 2011-7-27 00:35
自从看了ruby。。。C++什么的写起来感觉很蛋疼。。。

作为一个c++坚定的拥护者,上次差点和我们那里一个java程序员吵起来了。在网上只要看到挺c++的,马上当成兄弟看待。这玩意相当于意识形态问题啊。
作者: 枫起    时间: 2011-7-27 08:40
熊的选民 发表于 2011-7-27 08:23
作为一个c++坚定的拥护者,上次差点和我们那里一个java程序员吵起来了。在网上只要看到挺c++的,马上当成 ...

C++效率高,这是优点,但是语法方面不如ruby简洁这是事实。。。
作者: 熊的选民    时间: 2011-7-27 08:52
枫起 发表于 2011-7-27 08:40
C++效率高,这是优点,但是语法方面不如ruby简洁这是事实。。。

也许是我c++用得比较熟吧,我倒觉得c++的语法简洁……
作者: 神思    时间: 2011-7-27 09:41
本帖最后由 神思 于 2011-7-27 09:59 编辑

系统要求10个字
作者: 熊的选民    时间: 2011-7-27 09:55
神思 发表于 2011-7-27 09:41
CPP的语法是不难,来来去去都是那几样.
麻烦的是内存要经自己手管理.

内存不经自己手管理倒有些担惊受怕,调用个库经常不知道该不该dispose。而且和内存泄露斗其乐无穷啊。
作者: 神思    时间: 2011-7-27 09:59
{:nm_9:}LS,鄙人没说CPP不好的意思。要是大人您介意我编辑掉就好了。
作者: DeathKing    时间: 2011-7-27 10:05
熊的选民 发表于 2011-7-27 08:52
也许是我c++用得比较熟吧,我倒觉得c++的语法简洁……

其实我倒觉得cpp有点冗杂,个人更加喜欢C。关于C和C++,这方面的争论也很多了额~

不过就Ruby来说,我喜欢他的动态、元编程以及很多奇妙的写法。
作者: 熊的选民    时间: 2011-7-27 10:06
本帖最后由 熊的选民 于 2011-7-27 10:08 编辑
神思 发表于 2011-7-27 09:59
LS,鄙人没说CPP不好的意思。要是大人您介意我编辑掉就好了。


……我的话语这么具有攻击性吗?只是想和大人您讨论一下都会被误解吗?看来我该反省了……
作者: 神思    时间: 2011-7-27 10:12
{:nm_6:}大清早的,能避免争论就避免。我可不想坏了心情。

RUBY真的是个很美妙的东西!!!!!!!!!{:nm_4:}
作者: 雷欧纳德    时间: 2011-7-27 10:30
单论语法我喜欢C#啊魂淡!
作者: 神思    时间: 2011-7-27 10:41
{:nm_6:}C# -v- 像大叔,RUBY像小LOLI.
作者: 小⑨    时间: 2011-7-27 10:44
雷欧纳德 发表于 2011-7-27 10:30
单论语法我喜欢C#啊魂淡!

+1……
C#虽说变量声明啥麻烦了点但是自己不会乱掉(……
尤其是.as可以直接复制,稍微改几个地方就成.cs了= =||
作者: IamI    时间: 2011-7-27 11:52
神思 发表于 2011-7-27 10:41
C# -v- 像大叔,RUBY像小LOLI.

难道是因为小LOLI可以随你摆布 = =b
大叔有一套套的家规(MSDN用意)?
作者: 神思    时间: 2011-7-27 11:54
IamI 发表于 2011-7-27 11:52
难道是因为小LOLI可以随你摆布 = =b
大叔有一套套的家规(MSDN用意)?

噗~~讲到重点了。
作者: v2sam    时间: 2011-7-27 11:55
题外话: 楼上的各位,你们有证么!!!!!!!!!
作者: 神思    时间: 2011-7-27 11:59
木有,,,,,,我就是一个做替死鬼的料..
作者: 匿名    时间: 2011-7-27 15:37
本帖最后由 匿名 于 2011-7-27 15:37 编辑


天朝985软件工程专业不用考证
有毕业证一张
作者: v2sam    时间: 2011-7-27 15:58
匿名者 发表于 2011-7-27 15:37
天朝985软件工程专业不用考证
有毕业证一张

世界上有三类程序员,人族、虫族和神族。

人族程序员的代码既不性感也不优雅,但他们能利用任何可负担的工具,让工作顺利完成,他们比较适合创业公司,或是担任公司的技术领导。一个典型的人族公司是37signals。

虫族程序员顾名思义是做基础工作的,他们需要现成的IDE,他们的一切依赖于主宰女王,绝大多数外包公司都是由虫族程序员组成。

神族程序员比较稀少,他们的数学相当强,他们使用的语言是Lisp或ML,Google的PageRank就出自神族程序员之手,他们让Google成为一家神族公司。
作者: 匿名    时间: 2011-7-27 16:02
本帖最后由 匿名 于 2011-7-27 16:04 编辑
v2sam 发表于 2011-7-27 15:58
世界上有三类程序员,人族、虫族和神族。

人族程序员的代码既不性感也不优雅,但他们能利用任何可负担 ...



偶是萨尔那加黑幕程序员,在造混元体
作者: IamI    时间: 2011-7-27 17:46
匿名者 发表于 2011-7-27 16:02
偶是萨尔那加黑幕程序员,在造混元体

Kami,我想知道女王在哪儿




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1