来聊聊编程语言中那些让你觉得被惊呆了的特性

2013-08-29 12:05:16 +08:00
 sethverlo
Python:

1. if 1 < a < 3

2. return a, b, c

3. a, b = b, a

Ruby:

1. a.try(:b) # 如果 a == nil 就直接返回 nil 而不会告诉你 nil 没有方法…

2. a.nil? # 这种带问号的方法

3. a ||= b # 相当于 if !a.nil? then a = b end
5053 次点击
所在节点    问与答
53 条回复
msg7086
2013-08-29 16:30:42 +08:00
LINQ碉堡
cxh116
2013-08-29 16:32:14 +08:00
ruby
obj = Object.new
def obj.hello
puts "hello world"
end
obj.hello

另外楼主提到的try方法是rails的猴子补丁
fl3x
2013-08-29 16:37:42 +08:00
InvokeCode= (fun args -> <@@ (%%(args.[0]) : string) :> obj @@>))

是要有多囧才能发明<@@ @@>这种东西。。。
fangzhzh
2013-08-29 18:55:32 +08:00
object-c block
lisp )))))))))))()((
moplay
2013-08-29 19:05:29 +08:00
"""say
"hello world"
""""
Sdhjt
2013-08-29 19:40:19 +08:00
C语言:
(*(void(*)())0)();
yanng
2013-08-29 19:40:55 +08:00
//用完我会关闭
defer f.Close()

//我俩并发执行
go sum(values[:len(values)/2], resultChan)
go sum(values[len(values)/2:], resultChan)
beordle
2013-08-29 19:44:32 +08:00
@kurtis
sethverlo
2013-08-30 09:08:26 +08:00
@yanng 这是 Go 语言?
Mutoo
2013-08-30 09:21:15 +08:00
mov ax 4c00h
int 21h
ugoa
2013-08-30 09:47:16 +08:00
Ruby:

7.days.ago
sethverlo
2013-08-30 10:05:10 +08:00
@ugoa 赞这个
hazard
2013-08-30 10:06:40 +08:00
中文编程...
dndx
2013-08-30 10:11:21 +08:00
C:

int some_shit[10];

some_shit[20] = 100;
sethverlo
2013-08-30 10:21:53 +08:00
@dndx 被惊呆了……
chmlai
2013-08-30 10:35:09 +08:00
objc block吧
fate
2013-08-30 11:10:02 +08:00
}}}}}}}}}}}}}}}}}}
yaroot
2013-08-30 11:15:10 +08:00
scala的类型系统, kinds(高阶泛型)
y combinator的推断(lambda calculus)
s-expressions

其他还有很多..erlang里的=, process和其他特性

另, lz python例子里2和3大体上是一样的吧
sethverlo
2013-08-30 11:25:33 +08:00
@yaroot 没用过 python3。。
mengzhuo
2013-08-30 11:26:17 +08:00
竟然没有人说Python的操作符重载……简直是神一样的存在

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/80619

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX