![]() | 1 scream7 PRO 我就觉得列表切片,推倒简直是爽 |
![]() | 3 loggerhead 2015-07-23 18:27:14 +08:00 ```c int swap(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; } ``` 等价于 ```python a, b = b, a ``` |
![]() | 4 loggerhead 2015-07-23 18:28:05 +08:00 这缩进怎么回事?我明明加了空格 |
![]() | 5 chengzhoukun 2015-07-23 18:30:26 +08:00 via Android @loggerhead 回帖不支持Markdown吧 |
![]() | 6 janxin 2015-07-23 19:28:34 +08:00 ![]() [a for a in b] |
![]() | 8 zonghua 2015-07-23 19:47:23 +08:00 Javascript太自由,没约束 |
![]() | 9 s51431980 2015-07-23 19:48:06 +08:00 java 想优雅,可以用 groovy |
10 hitluobin 2015-07-23 20:00:17 +08:00 |
![]() | 11 matsuijurina 2015-07-23 20:12:12 +08:00 ![]() 看了这个标题我觉得楼主的JAVA肯定学得很好 |
![]() | 12 Ouyangan 2015-07-23 20:32:07 +08:00 java菜鸟一枚, 至今未领略过优雅是何种滋味, 等我学好java再来搞搞python . 你们等着啊 |
13 lzhtony 2015-07-23 20:35:36 +08:00 @loggerhead JAVA: a^=b^=a^=b |
![]() | 14 yakczh 2015-07-23 20:37:52 +08:00 ![]() ruby才是优雅,python那叫蛋疼 |
![]() | 17 loggerhead 2015-07-23 21:25:55 +08:00 @chengzhoukun 确实不支持,但是 每一行的前置空格会被自动去掉 @lzhtony 三句弄成一句,可读性太低了。python那种没见过挺多说“诶,这是什么神奇的语法”,你这个没见过就“这什么鬼。。” |
![]() | 18 dddd 2015-07-23 21:31:04 +08:00 就语法上来讲… |
19 mingyun 2015-07-23 21:43:57 +08:00 python复制粘代替比较蛋疼 |
![]() | 21 littleshy 2015-07-23 22:57:12 +08:00 python的lambda表达式好直白,直接写个lambda算什么啊…… |
![]() | 22 yakczh 2015-07-23 23:08:53 +08:00 写两行的lambda试试 |
![]() | 24 seki 2015-07-23 23:19:17 +08:00 numpy 程序 demo 写得很爽,就是 freeze 之后整个程序三百多兆 想换个 C++ 什么的写一个,查了一下相关的库之后觉得还是算了 = = |
![]() | 25 illuz 2015-07-23 23:29:04 +08:00 |
26 lzhtony 2015-07-23 23:45:01 +08:00 @loggerhead 写在swap函数里面谁知道2333 个人认为代码的优雅,就是用较少的代码写出较好的效果(较高的效率 较多的功能...etc). |
![]() | 28 mulog 2015-07-24 00:15:54 +08:00 list/dict comprehension |
![]() | 29 lincanbin 2015-07-24 00:49:49 +08:00 Java的三目运算符: min=a<b?a:b; Python: min=a if a<b else b |
![]() | 30 qw7692336 2015-07-24 01:55:03 +08:00 哈哈 楼主被我介绍进来的室友 @s51431980 groovy就不是java了,现在对几门jvm语言都有点兴趣,像比较成熟的scala、还有Jetbrains的kotlin。用scala来写Android的话,可以用https://github.com/pocorall/scaloid 来简化代码。 用kotlin来写Android,可以用https://github.com/JetBrains/anko 来简化代码。 java8的lambda表达式和Stream API可以进一步让java代码进一步变得优雅。 https://github.com/ReactiveX/RxJava 可以让事件响应变得很优雅,它的Android版https://github.com/ReactiveX/RxAndroid 可以用在Android上,gradle需要用https://github.com/evant/gradle-retrolambda 才能构建 另外Android的 https://github.com/excilys/androidannotations 或者 https://github.com/JakeWharton/butterknife 可以大大地简化代码 这是我的收集: http://www.v2ex.com/t/206402 |
![]() | 32 qw7692336 2015-07-24 02:13:45 +08:00 @matsuijurina 楼主的标题是知乎体,好像也是我推荐他玩知乎的。 @yakczh @unique 中午看到有人吐槽Java的分层罗嗦 http://www.v2ex.com/t/207800 ruby on rails使用的叫涨血模型,这应该也是Java转ruby会感觉很爽的原因之一。 我之前玩过playframework,据说也是类似ruby on rails的框架,框架也推荐使用类似rails的涨血模型。playframework是唯一一个让我感觉到用法比较优雅的Java框架,但由于Java语法本身的限制,没有办法做到更加优雅。我看到的一些简化Java代码的框架,大多数都只能采用annotation的方式进行简化。如上面的androidannotations 。 |
![]() | 33 sciooga 2015-07-24 02:21:13 +08:00 @loggerhead 不支持 markdown 还没有 white-space: pre; 所以排版就乱了,我反馈过一次,没人理~ |
![]() | 34 binjoo 2015-07-24 03:28:22 +08:00 via Android 真在学习python |
![]() | 35 qw7692336 2015-07-24 04:37:41 +08:00 刚刚看到我之前写到一句自己非常喜欢到代码: i=i>0?-i:-i+1; 把这段代码放到循环体里面一直迭代。 |
![]() | 36 hkongm 2015-07-24 08:56:38 +08:00 说语法,不是ruby最牛么 |
![]() | 37 magicyu1986 2015-07-24 08:58:12 +08:00 a < b < c |
38 publicID001 2015-07-24 08:59:37 +08:00 via Android @lzhtony 那交换两个对象试试呢? |
![]() | 39 Tiande PRO |
![]() | 41 est 2015-07-24 09:14:32 +08:00 ![]() @dtdnqsb 为什么要这样做呢。。。 >>> list('hahahha') ['h', 'a', 'h', 'a', 'h', 'h', 'a'] 其实大多数时候str可以直接遍历。比如提取字符种的数字部分: >>> filter(str.isdigit, 'abcde123fghi567') '123567' |
![]() | 42 knightdf 2015-07-24 09:17:39 +08:00 lz的java一定学的很好 |
43 yuankui 2015-07-24 09:25:00 +08:00 [1,2,3,4][::-1] => [4,3,2,1] map,reduce,filter |
![]() | 44 thinkmore 2015-07-24 09:47:57 +08:00 你们所谓的优雅,只是代码简洁吗?过度的封装而已 |
![]() | 47 chaucerling 2015-07-24 10:24:38 +08:00 lz如果学学函数式吧,那才叫优雅 |
48 googya 2015-07-24 10:31:44 +08:00 嗦有嗦的好处, 灵活有灵活的优点 |
![]() | 49 codeyung 2015-07-24 11:02:34 +08:00 没有太大可比性 想学啥学啥吧 Scala八错推荐 |
50 lzhtony 2015-07-24 11:03:09 +08:00 @publicID001 对象确实没想到什么好方法. @bdbai 仔细思考后发现这个方法的奥妙不是更吸引人. 灵活的语言一般来说代码更简洁优雅吧.python确实很有这种feel,C++也是.Java和C比起来很多语法都不支持,也就没有那么高的灵活性. |
52 cz208209 2015-07-24 11:13:42 +08:00 为啥不说python简单 |
![]() | 53 robertlyc 2015-07-24 11:26:51 +08:00 那是因为没学过ruby |
54 publicID001 2015-07-24 11:50:20 +08:00 |
![]() | 55 theJian 2015-07-24 12:08:13 +08:00 Python >> Ruby >> CoffeeScript >> ? |
56 cutepig49 2015-07-24 14:43:31 +08:00 @publicID001 这是优点,不是缺点 |
![]() | 57 newborn 2015-07-24 15:04:38 +08:00 你可以再顺便了解下perl |
![]() | 58 laoyuan 2015-07-24 16:39:04 +08:00 str[:-0] 这里就是个坑。 |
![]() | 59 NeoAtlantis 2015-07-24 16:58:55 +08:00 via Android a=[(1,2,3), (4,5,6)] for x,y,z in a: pass python确实不错……一个蒸汽轮机的课程设计作业……800多个参数直接用python算 完了还直接画图出报告……写程序连调试修改就花了两天时间…… |
60 bramblex 2015-07-24 20:30:08 +08:00 {-n的所有因数:-} factor n = [x| x <- [1..n], n `mod` x ==0] {-判断n是否为素数:-} isPrime n = [x | x <- [1..n], n `mod` x == 0] == [1, n] {-n的所有素因数:-} primeFactor n = [x| x <- [1..n], x /= 1, n `mod` x == 0, isPrime x] {-最后分解n的素因数-} decPrimeFactor 1 = [] decPrimeFactor n = first:(decPrimeFactor (div n first)) _ _ where first = head ( primeFactor n ) |
![]() | 64 msg7086 2015-07-24 21:40:22 +08:00 @bramblex Rails其实还好,初创公司大杀器,常用组件全备齐了,一个框架足够用到上市了。 当然关键是写的人要靠谱,以及测试代码都要跟上。 现在在公司里处理的一个Rails应用,完全是一堆不会Ruby和Rails的人硬写的,还没什么测试,简直要疯。 |
65 bramblex 2015-07-24 23:21:03 +08:00 @msg7086 从客观上来讲,Rails还是非常适合创业公司前期用来快速搭建网站的。 我也拿Rails做过项目,确实非常方便快捷,但是主观上依旧不喜欢。不喜欢是指不喜欢使用。不过对它的各种设计和还是非常有兴趣的。 |
![]() | 66 lancegin 2015-07-25 10:41:26 +08:00 对列表数据进行处理:map(lambda item:deal(item), list) |