end 绝对是 ruby 优雅性的重要体现。就像当年我很喜欢的 Object Pascal. Ruby 也绝对是个魔鬼,一个如此优雅的语言,却这么灵活多变...
@kgen, @fsword , 我说的可能太笼统了,你们没有理解。
有些软件,每个账户的 HOME 下面,都有一套相同的软件,或者说,都是使用同一 个安装包安装的。其中部分软件是通过 tar 方式编译安装的。这样的话,你使用 root 编译安装在/root/bin 下,在/home/zw963/bin 下无法正常运行。所以我干脆 直接编译安装到/tmp/某个文件夹下。再做个符号链接到{HOME}\bin 下就行了。
你如果使用默认安装,直接装到/usr/local/bin 或/opt/下面当然没有这个烦恼, 但是如果你在使用别人的 linux, 而且你不具备 root 权限,无法安装。这个办法 就是一个很好的解决方案。
这就像 RVM, 你如果使用 root 权限,就安装到了/local/usr/rvm 下面。如果是普 通 user, 则安装到{HOME}/.rvm. 其实不管是不是 root, 后者显然更方便。
@reyesyang , 谢谢啦,虽然 iask 上的资源失效,不过好歹,从哪里知道网上还有流传出 p3.0 的。
在国外的一个网站下载下来了。好累。
我主要是想单独打印这本书的最后一部分,方便随时查阅。
@rei, 我使用所有的账户登陆,都可以使用自己的软件喽,而且不需要超级用户 权限。只要复制过来就行了,包括 Emacs, Fcitx, Chrome, BC3, Dropbox, RVM 等等。
编译时,我甚至利用了/tmp 对所有用户可写的特性。达到一致性。
为什么不喜欢 end 呢?
我曾经倒是想过,用 lisp 的风格来写 Ruby 中的代码块,不过和 Lisp 括号比起来, 阅读效果差好多了。
下面是代码示例,你们看看不用 end 晕不晕。
File.open("1.txt") {|f|
f.each_line {|line|
line.each_char {|char|
print char.upcase}}}
最主要是没有 lisp 括号那种对称美.Matz 是 lisp 的绝顶高手,他绝对想过这种方式。
不用挣啦。呵呵,我这个帖子应该是在社区有史以来最水的一个话题了。
我现在一直在用的是最古老的 linux 版本 Slackware, 有机会一定要试试 Mac
冲着 Matz 使用 Debian 以及 Emacs, 暂时先这样了。
@allenwei , 我问一下,你的那个 DSL 示例,写成下面这样,是否会存在问题?
class A
def self.help(&block)
self.instance_exec &block
end
def self.method1
puts "method1"
end
def self.method2
puts "method2"
end
end
A.help do
method1
method2
end
我总觉得先创建了 A 的实例对象,再调用实例方法,是否有些多余?
我来总结下: #5 楼的用途,和我总结的传入一个策略,基本上相似。
#3 楼 #6 楼, 跟 attr_accessor 的用法差不多。虽然不完全相同。 前者上下文空间通过类方法被定义,后者在 Module 类中被定义而已, @allenwei , 的这种定义方式的确在 Ruby 极多,rake, rails 都大量用到. 他们非常相似的地方是:它们都使用 block 创建了一个包含上下文空间的块. (在块中更改了 self 值,就像类定义一样,可以使用一些特殊的方法)
#8 楼, @skandhas, 你说的延后调用,是不是和 RSpec 中的下面代码类似。
...
lambda { do something }.run # 这个run是在那里定义的? 为什么不用call
...
我感觉就像 bash 里面的$(...) 一样。
@longerian , 全部都理解了啊。我看书够慢的了。一个单词都不放过
你看过这本书吗?全是图画,没多少内容。就是结构好,内容精辟。
@ywencn ,楼上你太棒了。Thanks
汗~~ 没有回应。
@skandhas , 真谦虚 ...
以后有问题,多多向你请教。
@hhuai ,N 年前看过谭浩强的 C 教程,使用 C++, 看过清华引进的那一本数据结构, 然后此后 N(N>10) 年,再没看过跟 C, C++ 有关的书。
现在手头有几本大家推荐的 C 基础教程。另外,传说中的 APUE, 我一下买了两本, 一中一英,有时间一定要看。不过目前来看,优先级在 Ruby 和 Lisp 之后。
@skandhas , 我很好奇,一直想问,像你这样,我心目中的牛人,要打印什么书 (或正在看什么书)? 可以分享一下吗??
@willmouse ,你说的没错,但是怎么说呢?如果我早几天看了这本书,学习 rails 会节省大量的时间。换个说法,直接上手就看 AWD, 你看两星期,应该 没有先花一星期看这本 head first, 然后第二个星期再看 AWD, 效果好。
个人亲身体会。也许牛人比较牛,直接 AWD, 而且倒着看,那就是例外了。
@huacnlee, 前几天翻了翻乔布斯传,蛮有感触的。
咱社区的那个第一个招聘贴,佛山那个,说的 《黑客与画家》、《Getting Real》、《rework》我在乔布斯身上都能看到影子。
尤其是一点: 讨论目前所有的工作,按照优先级排序,然后果断的砍掉一半,说白了就是专注。
我想这也许就是那个 96 年濒临倒闭的 Apple, 能够东山再起的一个很重要原因。
@hisea, 哇,在这里连游戏都可以找到志同道合的战友。哈哈
除了国产的剑网 3(只玩了很短时间), 我玩过唯一的网游,就算是 DiabloII 了。
偶可是从 DiabloI 开始玩起的。我想因为年龄因素,接触过一代的肯定不多。
那会儿在上大学,我一个师兄,牛人,自制的串口线,联网两个计算机,通宵 大菠萝一代,难忘的记忆。
@kgen, 无语了。
@clc3123, 是啊。太 TMD 神奇了,之前一直对 rails 提不起兴趣,看了这书,一下 子仿佛挺喜欢了。
@xds2000, 重要的在于收集的过程。至于用处,图片文件的标题已经写很清楚了。
@skandhas, 说的心里怪痒痒的。希望将来工作的地方有 iMac, 玩熟了,自己也 搞个。
希望坛子里那些深藏不漏的前辈,多提意见,多多指教。
有什么不对,一定要指出来。
事实上,没少上专卖店看苹果的本本。
不过每次都是琢磨半天,不得要领,像个傻子一样站在那里发呆。
@skandhas, 那个产品外形太酷了,进入 Mac 门槛还真高。(不仅仅是使用,还有$)
我基本上没用过触摸板,我的本子上,触摸板都是关闭点击,只保留光标移动. 主要是怕有时候碰到乱点。其实移动也从来不用,只不过关了滚动条没办法用了。
我台式机用的是 IBM 的那个小红帽键盘。不过不是无线的,汗...
@skandhas, 不客气,呵呵。
算啦。我直接公布啦。站长别把我当托就行。
拿我社区信誉保证:纸张,书皮,装订一流。
如果自己有 PDF, 找他们打印,会稍稍便宜点。
@hhuai, 咱俩很相似啊。你是学 Ruby 的时候被逼着看英文。我是去年学 Emacs 时, 被逼着看手册。毕竟 Ruby 还是有不少中文资源,Emacs 那就清一色的英文了。
词汇量不够,可能是看英文书籍刚开始最大的问题。
我倒是有一个不错的实践,给你分享下。
一定看纸质书,才有感觉。说不上来为什么。我觉得主要还是来回翻看方便吧. 另外看着书未读的部分越来越薄,有动力。
早些时候,看书的时候,我都是坐在电脑面前的。书就放在电脑的下面,电脑 用 Chrome 打开了谷歌翻译,同时安装了 dict.cn 的 Chrome 插件 (选择文本,自动翻译) 遇到不会的单词,立马输入单词翻译。(事实上,输入单词的时候,我几乎都不抬头), 谷歌和 dict.cn 总有一个结果适合我 (前者主要用于翻译一些俚语), 翻译多了,不懂就 越来越少了。后来基本上就不太翻译了。不过成习惯了,看书时,还是会坐在电脑边。
@andor_chen ,已经发送邮件,請查收。