V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ssword  ›  全部回复第 17 页 / 共 20 页
回复总数  386
1 ... 9  10  11  12  13  14  15  16  17  18 ... 20  
2011-01-18 23:39:33 +08:00
回复了 keakon 创建的主题 iDev @Livid:能简要说下Objective-C语言本身有什么优点吗?
1.函数默认返回最后一句表达式
2.if、case之类的语句也是表达式,并且有值
3.$、@、@@、=、?、!之类的变量名
4.%w、%q、%Q、%x等语法
5.<=>运算符
----------
又见语言圣战,没看懂ruby是怎么中枪的。1,2,3,5作为特性的语言我可以列出一打,楼主说自己两天学完lisp,也该心里有数。

我的看法是能减少工作量的就省,但会导致看上去很生涩的就不该省。这点在初学和向不懂这门语言的人解释时非常重要。
-------------
打算永远做新手的话当然重要。
2011-01-16 09:25:53 +08:00
回复了 Livid 创建的主题 随想 想到的和写下的
不做公共人物的话,写东西没有特殊考虑别人怎么看的必要吧,单单做为自己的笔记也不错。尤其是各种心得体会,要有共鸣也是看缘份的
2011-01-15 22:39:35 +08:00
回复了 xiaojay 创建的主题 程序员 问下大家 程序变量名怎么取?
@fly2never java,呵呵呵~
别说,for(numberCounter=0; numberCounter<10; numberCounter++)这样的代码我还真看不惯。

比如下面这两段代码是同样的功能,命名规范不一样。哪个更好看就见仁见智了
http://www.douban.com/photos/photo/744275241/
http://www.douban.com/photos/photo/744275149/
2011-01-14 09:32:36 +08:00
回复了 coderoar 创建的主题 硬件 适合VIM的键盘
@roamlog 听说有人把<esc>映射成回车...
似乎一个inoremap就好
2011-01-14 09:23:39 +08:00
回复了 Ethan25 创建的主题 Ruby on Rails 谁能带给ROR初学者些启示?
@Ethan25 哈哈~认识的 ^ ^
2011-01-14 09:15:48 +08:00
回复了 Ethan25 创建的主题 Ruby on Rails 谁能带给ROR初学者些启示?
感觉ruby的中文资料不多,中文社区的力量也偏薄弱。这点不如python,不过不一定是坏事。
建议学ror前先把ruby玩好,多玩几个gems,体会下为啥别的语言里100行的东西ruby两行搞定还更好看,为啥1000行的ruby程序就敢当产品还这么多人用。不然很容易让ror的各种约定绕晕,它已经是个大家伙了。
2011-01-12 17:05:05 +08:00
回复了 ayanamist 创建的主题 Python 写代码不能太简单了
@ayanamist 见笑了,我也是python新手,只是对几个概念有耳闻而已。

楼主的情景该是猜到一些。是不是这样呢:在一个类里放很多函数,留一个函数作对外的接口,根据输入的不同分派一个不同的函数。回去想了下,使用反射也未尝不是一个好方法。要扩展,只需要往类里添加一个函数即可,比起一堆if else自是灵活的多了。

但是,这个类是不会变得很大呢。再者,用户输入那个“动态函数”名字要是Object的函数怎么办?虽不是什么大问题,估计也是会抛异常的。

前面说到lambda有点不准确,个人比较倾向于这样理解,即把可作为值传递的函数即lambda,或者说“匿名函数”。比如python允许这样

def func1(x):
return x+1

f=func1
f(1)

函数是一等公民,这一来就可以方便的传递行为。而原先的类可以简单的重构一下,只保留几个简单的接口:

class Dispatcher:
def __init__(self):
self.actions = {}

def bind(self, cmd, func):
self.action[cmd] = func

def exec(self, cmd, *args):
f = self.action[cmd]
if f: f(*args)

这一来就可以把那些函数挪到类的外面,以后要扩展的话,只要额外import一个文件即可。

d = Dispacher()

def hello():
# do something

d.bind("hello", hello)

def sayya():
# do something

d.bind("sayya", sayya)

ps: 其实Decorator也是python的一个函数式特征, @chuangbo 同学的方法很pythonic,也很喜欢 :)
2011-01-11 22:03:27 +08:00
回复了 ayanamist 创建的主题 Python 写代码不能太简单了
重点不是if,留意下dict和lambda的用法。

参数是一致的,不过方法很多
----
不理解类为什么这么设计。建议是省去这个类,直接上函数。

如果对一门语言足够了解,肯定能找到更优雅的解决方式。py不像java,高质量的代码是可以写的很短的
2011-01-11 20:47:30 +08:00
回复了 kukat 创建的主题 Python Mac 上怎么切换 python 的版本?
直觉py该有rvm的等价物 http://rvm.beginrescueend.com/
2011-01-11 20:26:44 +08:00
回复了 ayanamist 创建的主题 Python 写代码不能太简单了
@ayanamist 一个“类”的函数,还是一个“对象”的方法呢?
一定要动态调用一个对象的方法的话,反射是必须的(不过鸭子类型的动态语言里的“反射”其实很模糊)。
但是仅仅是为不同的输入选择不同的行为的话,感觉还是lambda更好。比如拿个dict里面放针对不同操作的函数(参数最好一样,不然肯定自找麻烦),这样就行了:
func = actions[act_name]
if (func): func(*arg)
2011-01-10 21:29:12 +08:00
回复了 ayanamist 创建的主题 Python 写代码不能太简单了
py的话可以lambda,ruby的话可以proc,C#有delegate,java还能拿个匿名类
什么语言呢,感觉不至于祭出来反射吧...
2011-01-08 09:25:52 +08:00
回复了 Livid 创建的主题 问与答 关于理想
小时候以及中学的相当一部分时间都拿来做幻想,做科学家发明个机器人什么的。web2.0火的时候也为所谓创业迷了一段时间看了一段时间web,然后就没有然后了。

现在在写一点挑战性的东西,一边看一点历史。有些东西是需要慢慢参透的,第一因“理想”倒看得淡了
2010-12-27 19:02:40 +08:00
回复了 sunshineg 创建的主题 随想 大家对豆瓣新推出的小豆怎么看
陈永仁 2分钟前 说:
太好了,豆瓣终于要出现《小女子一夜求小豆》的帖子了。投资人一把抓住阿北的手:“阿北你终于找到财路了!”说罢,几个西服男激动得在豆瓣办公室里抱头痛哭。那夜,无眠。
2010-12-22 21:42:18 +08:00
回复了 jing 创建的主题 iPad 第二代ipad————yy
以后touch就叫ipad nano
2010-12-21 17:55:03 +08:00
回复了 Livid 创建的主题 Dropbox Dropbox 的网络同步实在是做得太好了
@est 您需要拿git对付二进制文件么...
2010-12-21 17:53:06 +08:00
回复了 9hills 创建的主题 Vim 大家贴一下Vim的配置吧
@chone 其实觉得也只有ruby拿两个缩进好看

set shiftwidth=4
set tabstop=4
autocmd filetype ruby set shiftwidth=2
autocmd filetype ruby set tabstop=2
2010-12-18 11:03:53 +08:00
回复了 Livid 创建的主题 村上春树 最喜欢村上君的哪部小说呢?
《挪威的森林》
《且听风吟》
《斯普特尼克恋人》
《去中国的小船》
2010-12-17 20:31:11 +08:00
回复了 Livid 创建的主题 Dropbox Dropbox 的网络同步实在是做得太好了
@zxsky1 @est 应该和版本控制系统的算法差不多吧
1 ... 9  10  11  12  13  14  15  16  17  18 ... 20  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1038 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 20:25 · PVG 04:25 · LAX 12:25 · JFK 15:25
Developed with CodeLauncher
♥ Do have faith in what you're doing.