File类为什么能使用io类的print
a=File.new("1","w")a.print "hello"
结果是产生一个“1”文件包含“hello”
File类中没有print方法 结果是产生一个“1”文件包含“hello”
File类中没有print方法
fanasy 发表于 2010-12-21 13:53 http://bbs.chinaunix.net/images/common/back.gif
所谓继承。
irb(main):001:0> File.ancestors
=> 结果是产生一个“1”文件包含“hello”
File类中没有print方法
fanasy 发表于 2010-12-21 13:53 http://bbs.chinaunix.net/images/common/back.gif
File没有print的类方法,但是有print的实例方法。
irb(main):012:0> File.instance_methods.include? "print"
=> true 喔,谢谢,我不知道有ancestors方法。 嗨!记得最后来个a.close()。
>> File.superclass
=> IO
>> File.superclass.superclass
=> Object
回复 6# Sapien
Sapien,抽空发发你的Ruby使用心得吧。 回复Sapien
Sapien,抽空发发你的Ruby使用心得吧。
2gua 发表于 2010-12-22 14:55 http://bbs.chinaunix.net/images/common/back.gif
事实上我学 Ruby 还不到一个月……
我之前用 Perl 比较多,Perl 的优势在于模块多而成熟,不过 CPAN dependency hell 我是忍了很久了。她 ugly 的语法我倒不是很在乎,至少自己写程序的时候是比较爽的。Perl 最初的设计是用来替代 sed, awk 等文本处理工具的,所以在很多方面不是原生支持的,是后来添加的,比如面向对象、多线程和对 Unicode 的支持,这样风格上就会不统一。我想深入了解 Perl,但感觉不容易。所以我想另找一门更简洁优雅的,风格统一的语言,深入研究。后来就找到了 Ruby。
简单说一下我的学习历程,希望对初学者有所帮助:
一开始上 Ruby 的官网瞅了瞅,按次序看了主页上列出的简明教程:
[*]Try Ruby! (in your browser) http://tryruby.org/
[*]Ruby in Twenty Minutes http://www.ruby-lang.org/en/documentation/quickstart/
[*]Ruby From Other Languages(主要是 Perl) http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/
这样就有了大概的了解,确定自己喜欢上这门语言了。
接着看了官网上列出的一个教程:Learn to Program http://pine.fm/LearnToProgram/
然后看了一下广受赞誉的 Programming Ruby,不过第一部分都没看完。
后来买了一本 The Ruby Programming Language,大概花了2个星期,基本看完一遍。感觉收获很大,这本书讲得很仔细,很全面,而且涵盖了 Ruby 1.9。
在这过程中用了一下 Net::HTTP 的提交表单功能和 open-uri库,写了一个从网上抓图片的程序。前两天还了解了一下用 Ruby 写游戏,简单用了一下 Gosu 库,给自己写了一个屏保 -:)
现在在学 Rails,工作中刚好有个项目要用到。
到现在,我还是非常喜欢 Ruby,喜欢她的纯面向对象,她的简洁优雅,以及她身上 Perl 的影子。
不过看书的时候让我感到不舒服的是 synonym 太多了,好多不同的方法用法完全一致,有些用法却有细微的差别,记忆的时候很 painful。
不过总体上来说,相比 Python 的严格拘谨,我更喜欢这种自由散漫的风格。以后会多用 Ruby 的,欢迎大家交流~ 谢谢Sapien的分享啊!8) 我感到不舒服的是 synonym 太多了
我不太喜欢rails里面大量的元编程。
页:
[1]