clojure高手请进# Programming - 葵花宝典b*l2015-06-14 07:061 楼今天早上一打开门,弟弟激动的说,昨晚下雨啦!弟弟站在台阶上大口大口的呼吸,太好闻啦!春天的味道!真的啊,我赶紧出门,天暖暖的,云厚厚的,看不到阳光却能感受到灿烂,空气里浓浓的泥土香,真好闻!我们仨个都很兴奋,春天终于来到啦!
s*82015-06-14 07:064 楼赞, 很温馨。 日子快啊贴一个五年前我上山怀春乱诌的。春情三月溢西山一拾级晶日侵森木泠风皱草皮何音戏我耳惊蛰鸣乱莺何物遮望眼高翅托浮云迁客依天尽 旅人踏涛行春来一万载 人去一万里登高思故园相依仍桃李?
p*22015-06-14 07:066 楼atom应该是有side effect的吧?【在 T******7 的大作中提到】: atom这个概念怎么理解比较好?只能用在non side effect的函数里?
j*u2015-06-14 07:067 楼赞。。。。春天终于来了,开始下雨。。。不是下雪了【在 b*****l 的大作中提到】: 今天早上一打开门,弟弟激动的说,昨晚下雨啦!弟弟站在台阶上大口大口的呼吸,太: 好闻啦!春天的味道!真的啊,我赶紧出门,天暖暖的,云厚厚的,看不到阳光却能感: 受到灿烂,空气里浓浓的泥土香,真好闻!我们仨个都很兴奋,春天终于来到啦!
h*i2015-06-14 07:069 楼atom很简单,可以把atom理解成其他编程语言里面的变量(mutable),更确切的说,它很像C里面的指针,但是tread safe的。初学者要记住swap!的时候不是传新的值进去就行,而是要传一个函数进去,来转换旧的值。这个转换函数必须是没有副作用的,因为可能别的线程也在访问这个atom,这个转换函数可能会被试几次才成功。用到atom的时候记得deref,@,所以我说它像指针。atom可以用在任何地方。但idomatic的用法,是用来做可变状态的容器。比如写一个非常简单的小游戏的话,可以把整个游戏世界的状态用一个map来描述,然后把这个map放到一个atom里面;再比如数据库连接的状态,也可以放入一个atom里面。等等。【在 T******7 的大作中提到】: atom这个概念怎么理解比较好?只能用在non side effect的函数里?
T*72015-06-14 07:0611 楼多谢@hci我看书上说 atom是 Uncoordinated的。ref 是 cordinated.这里的cordinated 的意思是不是就是说支持compound operations?
h*i2015-06-14 07:0613 楼refs的操作必须在transaction里面进行。coordinated的是说,在一个transaction里面,各个refs的操作要么都成功,要么都不成功。和数据库的transaction一样的。atom没有上面的特性。【在 T******7 的大作中提到】: 多谢@hci: 我看书上说 atom是 Uncoordinated的。: ref 是 cordinated.: 这里的cordinated 的意思是不是就是说支持compound operations?
l*i2015-06-14 07:0619 楼我爸爸在花园里开始种黄瓜,西红柿,豇豆了,衷心的希望他老人家今年能成功【在 b*****l 的大作中提到】: 今天早上一打开门,弟弟激动的说,昨晚下雨啦!弟弟站在台阶上大口大口的呼吸,太: 好闻啦!春天的味道!真的啊,我赶紧出门,天暖暖的,云厚厚的,看不到阳光却能感: 受到灿烂,空气里浓浓的泥土香,真好闻!我们仨个都很兴奋,春天终于来到啦!
b*l2015-06-14 07:0623 楼为啥你这么雅致的怀春诗我脑海里却出现的是高太尉调戏林娘子的画面啊? :))【在 s**********8 的大作中提到】: 赞, 很温馨。 日子快啊: 贴一个五年前我上山怀春乱诌的。: 春情三月溢: 西山一拾级: 晶日侵森木: 泠风皱草皮: 何音戏我耳: 惊蛰鸣乱莺: 何物遮望眼: 高翅托浮云