c**w 发帖数: 1024 | 1 Ruby还有一些functional language把什么都当作expression,玩的挺好,优点多多。所
以不太明白,很多语言设计为什么要区分两种东西,比如c/c++/java, etc?
Expression 会 return value
Statement 不会
但是完全可以忽略expression的返回值。
全expression好处示例:
Ruby code:
result = if( abc % 2 == 0) "even" else "odd" end |
c**w 发帖数: 1024 | 2 查了很多资料,都是比较两者的不同,但是没有谈为什么要区分。现在的趋势是不区分
么?
。所
【在 c**w 的大作中提到】 : Ruby还有一些functional language把什么都当作expression,玩的挺好,优点多多。所 : 以不太明白,很多语言设计为什么要区分两种东西,比如c/c++/java, etc? : Expression 会 return value : Statement 不会 : 但是完全可以忽略expression的返回值。 : 全expression好处示例: : Ruby code: : result = if( abc % 2 == 0) "even" else "odd" end
|
E*******F 发帖数: 2165 | 3 对于初学者来说,什么都返回值太不自然
【在 c**w 的大作中提到】 : 查了很多资料,都是比较两者的不同,但是没有谈为什么要区分。现在的趋势是不区分 : 么? : : 。所
|
g*****g 发帖数: 34805 | 4 They start with different backgrounds. And in languages that functions are
not first class citizen. Returning them doesn't make sense.
。所
【在 c**w 的大作中提到】 : Ruby还有一些functional language把什么都当作expression,玩的挺好,优点多多。所 : 以不太明白,很多语言设计为什么要区分两种东西,比如c/c++/java, etc? : Expression 会 return value : Statement 不会 : 但是完全可以忽略expression的返回值。 : 全expression好处示例: : Ruby code: : result = if( abc % 2 == 0) "even" else "odd" end
|