C/C++/C#/Java程序员的Ruby第三天
来源:互联网 发布:dag 软件 编辑:程序博客网 时间:2024/05/06 08:43
这第三天依然是不顺。难道老天爷不喜欢Rudy,还是老天爷不喜欢我学Ruby,难道我学Ruby会阻止2012的到来。
今天九点上来准备码第三天。一半时,Win7的Internet访问图标上亮起了一枚划着了的火柴头。靠,internet居然断掉了。暴雨的缘故?操起电话,962525,居然给我报超过150在等待人工服务。靠,我不是那么好骗的,我才不信邪呢。按2故障申告。“话务员全忙,按#号继续等待”,按#号再继续等...... “话务员全忙,请稍后再拨。” 然后直接给我断掉。又试了两次,居然是同样效果。
这难不倒我。我有电信的3G卡。幸好,前段时间在易讯上入手华为EC5805 — cdma2000无线数字终端,用来配我的板子。迅速从手机中取出UIM塞入EC5805,开机。我的板子反应很快,LP的韩剧 — 女人的什么香气可以接着放了。可我的台式机怎么和EC5805连上呢?用配的USB线接通EC5805和我的电脑。出来个USB-KEY DIAL的东东。鸟,这是个啥。二手的说明书也没有。LP有不让我用板子google一把。试着重建一个能接入Internet的网络,最后居然然我输入用户名和密码,试着蒙了个3G上网的用户和密码,一点确定,居然还是走的PPPOE到局端去验证。悲催,失败!MD,是不是啥都不用做就能连Internet。试了试,还是不行。邪乎!
这也难不倒我,我台式机的主板可是P5E3 Premium 带 WiFi-AP。主板后面接上天线,就可以用WiFi连上EC5805了。最后终于成了。期间还是遇到些渣渣问题,什么BIOS里WiFi没打开啦,找不到华硕的WiFI-AP驱动啦,两个无线天线口分不清哪个是哪个啦,重新设置EC5805的MAC地址访问限制超出10个啦。 最后......
冥冥中,明明德,于是有了这第三天。
Reading and 'Riting (文件读/写)
学过C的这下高兴了。
printf( "Number: %5.2f, \nString: %s\n", 1.234455, "hello")
Ruby同Perl的 $_划清界限。
Perl中gets方法的一个副作用是当gets读取一行时,把这行也保存到全局变量$_中。如果不带任何参数地调用print,就会打印出$_中的内容。早期的,Ruby就同perl一样,也允许这种雷同。但现在不建议这么做了。因为Ruby教中完美主义者对上面的做法相当的不爽。符合现代Ruby风格的是用迭代器和预定义对象ARGF去处理。ARGF表示程序的输入文件。我们来比较一下。
旧Ruby风格:
while gets
if /Ruby/
end
end
现代Ruby风格:
ARGF.each { |line| print line if line =~ /Ruby/ }
或者
ARGF.grep(/Ruby)
总的来说,现在的Ruby社区正在逐渐脱离某些Perl主义的风格。用 -w 选项运行程序能够显示出更多这类警告信息。
第三章了,终于!
定义类
class Song
def initialize( name, artist, duration )
@name = name
@artist = artist
@duration = duration
end
end
① initialize是Song这个类的对象构造函数。当调用Song.new创建一个Song的对象时,再最后Ruby会调用这个initialize方法。
②at符打头的变量都是Song类实例中的变量。
song.inspect:就song这个对象来说,调用这个方法会打印出song对象的ID和每个实例变量的值。以后可以试一试inspect这个方法,看看还有什么惊奇发现没!
song.to_s ---> "#<Song: 0x1c8ce4>"
继承和消息
class KaraokeSong < Song
def initialize( name, artist, duration, lyrics )
super( name, artist, duration )
@lyrics = lyrics
end
end
这个应该不用在多说了。
对于子类对父类的方法重载也不用多说了。Ruby先看当前对象的类有无定义该方法,有则调用之;无看父类有无定义该方法,有则调用之;如此这般追溯整个祖先链,如果到最顶层都无该方法的定义,Ruby就报错。
Ruby的类只能有一个父类。从这一点上说Ruby是单继承的。不过,Ruby类可以从任何数量的mixin(类似于一种部分的类定义)中引入(include)功能。这提供了可控的、类似多继承的能力,而没有多继承的缺点。暂且点到为止,我们后面再说。
对象属性
class Song
attr_reader :name, :artist, :duration
attr_writer :duration
end
其中与属性相对应的实例变量@name, @artist和@duration会被自动创建。
看完了没码完,休息休息,明日在码。
历时3小时。第四天,32页,虚拟属性(Virtual Attributes)
- C/C++/C#/Java程序员的Ruby第三天
- C/C++/C#/Java程序员的Ruby第一天
- C/C++/C#/Java程序员的Ruby第二天
- C语言的第三天
- C语言第三天
- C语言第三天
- c第三天
- C语言第三天
- c/c++第三天
- Object-C 第三天
- 学习C语言的第三天
- 学习C语言的第三天
- C语言学习的第三天
- 黑马程序员--IOS基础第三天(C语言)
- 读《C++Primer》第三天
- C专家编程第三天
- C语言学习第三天
- 标准C语言第三天
- delphi中按钮的使用
- 20个漂亮的Jquery效果
- TCP/IP中 3688端口是什么?
- SAP NetWeaver 7.0 - Java and ABAP Trial Version on Linux - VMware Edition - Tips & Tricks
- delphi中让图片大小随TImage控件大小变化
- C/C++/C#/Java程序员的Ruby第三天
- [水一下]哈,露股沟
- C++中的list函数使用
- Expiry of Default Debug Key
- 工业无线
- 在线等:使用MFC单文档将窗口分割成一行两列
- 研二计划
- Android 编译系统分析
- jquery 土司效果