先不想这 10w 元怎么花,先从 0 开始想怎么创业。
#8 楼 @larryzhao 肯定是经过编码转换的,你得知道什么编码规则。可能微信就不想让你这么干。
#7 楼 @small_fish__ 哈哈,今天正好有空。
这得知道微信是怎么加密的
好像在计划中。
贵了。
#4 楼 @zhangyuan &self 不是调用 to_proc, 你可能记成了符号 map(&:to_i) 这种用法。在这个例子里:
sum = ->(a){a[0] + a[1]}
是个 lambda,已经是一个 Proc 对象,根本不需要调用什么 to_proc, 像&:to_i 这种写法,是因为符号类型作为块参数传递,需要把它转化为一个 Proc,所以才要调用 to_proc.
楼主的这个例子,在 map 方法内部,执行的是 proc.call 被调用,所以在 ruby2.0 中会报一个参数个数错误的异常。
首先,这段代码只能运行在 ruby1.8 环境下。 这段代码的目的是为了求解一个二维数组里面的值,根据给定函数(那个 lambda)的不同,而得出相应的结果。
比如我们可以制定 sum = lambda{|x, y| x*y}
这样可能行为像一个数学函数:
f(x)= y
那个 sum 就相当于f(x, y) = x + y
这是函数式编程里面的高阶函数,在 Ruby 里面就是 lambda,当然也有其他闭包表现形式。
然后看 module 里面的那个 apply 方法,他是利用了 map 方法,map 方法给定一个块参数, &self, 这个时候块参数&self 必须是一个 Proc 对象,而你必须搞清楚这个时候 self 是什么,这个 self,是消息 receiver,就是 sum | a 时候的 sum,相当于:
a.map &self
展开就是
a.map{ |x, y| x + y}
这个方法楼主应该明白吧?
而下面的模块 include,是为了让每一个 Proc 对象和 Method 对象可以拥有 | 方法。当然 alias 是给方法定义别名,也就是 apply 方法。关于你问的第 3 个问题,1 楼说的对,相当于你重载了操作符|,当你使用 | 的符号,Ruby 会找之前的 | 操作符,结果你使用 alias 给重载了,所以sum | a
这里没有用点来调用。
class Proc; include Func; end
class Method; include Func; end
在 Ruby2.0 里面,应该这么用:
a = [[1,2], [3,4]]
sum = ->(a){ a[0] + a[1]} #ruby2.0里lambda写法
sums = sum | a
因为在 ruby2.0 里面,sum = ->(a,b){ a + b} 这种写法,你如果传过来一个数组,就会认为是一个参数,会报参数个数错误的。类似 ([1, 2]){a + b}这样。
具体关于 ruby 的 block,可以参考我的视频教程: http://edu.51cto.com/course/course_id-418.html
@happypeter 哈哈,听你这视频,确实有种说唱的感觉啊。
多谢各位的支持! @qinfanpeng 可能需要戴耳机,51cto 已经经过转码处理,提高了 50% 音量 @happypeter 多谢支持,我会在说话方式上做改进,让大家听得清楚。
模仿
不错啊
想法真的很不错
解封了。
hosts 方式和用 Dnscrypt 都可以解决问题。但是这不是长久之际,听说明天杭州的要行动了。
当年参加第一份 ruby 工作的时候,老大用三个字就把我培训了:看文档。
不过支持一下吧。
11 月份不在北京,帮转一下,北京的朋友踊跃参与啊。对于 Ruby 生态圈来说是好事。
@ytwman thanks
基本不用 Dock 啊,Alfred 搞定
不过仔细看了 lgn21st 说的也有些道理。
没觉得这个招聘有啥问题啊
@blackanger 没效果啊
@blackanger test
和 46 级有毛关系
9 月 1 号要去 cocoachina 2012 开发者大会了,正好冲突了。
mbp