小编Sea*_*ess的帖子

处理Objective-C中缺少闭包的问题

也许这只是我最近一直在使用http://nodejs.org/这一事实,但Objective-C(iphone)中缺少关闭一直很难解决.

例如,我正在创建服务类.每个服务类都可以有多个方法,每个方法都会生成不同的URL请求.我可以使用委托模式,但这意味着每次我想在其上调用方法时都必须创建一个新服务(因为它必须存储该请求的委托和选择器,并且新方法调用将覆盖它们) .

对我来说更难的是,我不能轻易地将局部变量保留在回调范围内.我必须存储我想要发送回服务类本身的委托的任何内容,这使得在每个类上拥有多个方法变得更加困难.

你是如何做到这一点的呢?我应该放弃抱怨并以另一种方式做到吗?

iphone closures design-patterns objective-c

7
推荐指数
2
解决办法
584
查看次数

移动CALayers时禁用动画

以下代码为动作设置动画,即使我没有使用beginAnimations:context.如何在没有动画的情况下移动它?这是一个新的iphone视图项目,这些是它的唯一更新.

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];

    sublayer = [CALayer new];
    sublayer.backgroundColor = [[UIColor redColor] CGColor];
    sublayer.frame = CGRectMake(0, 0, 100, 100);

    [self.view.layer addSublayer:sublayer];
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    sublayer.position = [[touches anyObject] locationInView:self.view];
}
Run Code Online (Sandbox Code Playgroud)

iphone core-animation objective-c

7
推荐指数
1
解决办法
3708
查看次数

如何从Haskell中的文本块中提取关键字

所以我知道这是一个很大的主题,但我需要接受一大块文本,并从中提取最有趣的关键字.文字来自电视字幕,因此主题可以从新闻到体育到流行文化参考.可以提供文本来自的节目类型.

我有一个想法,将文本与我知道有趣的术语词典相匹配.

Haskell的哪些库可以帮助我解决这个问题?

假设我有一个有趣的术语词典,以及一个存储它们的数据库,你是否建议在文本中匹配关键词?

有没有一个我没想到的明显方法?

haskell nlp

7
推荐指数
1
解决办法
490
查看次数

AngularJS指令需要观察两个属性

我在Angular做一个游戏.每个玩家对象都有x一个y属性.每当玩家移动时,我想启动一个计时器,它在精灵表中循环几个背景位置.

我以为我会用指令做这件事.问题是指令通常只允许你设置一个表达式来监视:

// "test" directive
module.directive("test", function() {
  return function(scope, element, attrs) {
    scope.$watch(attrs.test, function(value) {
      // do something when it changes
    })
  }
})

// my template
<div test="name"/>
Run Code Online (Sandbox Code Playgroud)

关于这种方法的test好处是,指令不必假设范围具有任何特定属性.您告诉它在使用指令时要使用什么.

问题是,在我的情况下,如果x或y改变,我需要踢掉一些东西.我怎样才能做到这一点?

<div test="player.x, player.y"/>
<div test="player.x" test-two="player.y"/>
Run Code Online (Sandbox Code Playgroud)

有没有最好的方法来做到这一点你能想到的?基本上我想制定一个指令,如果任何一个属性发生变化,它会对定时器做一些事情.

html javascript angularjs

7
推荐指数
2
解决办法
3万
查看次数

使用docker push进行部署很慢,因为有很多图像

我正在尝试通过docker部署.我正在使用以下工作流程:

  1. 在本地构建
  2. 将我的图像推送到docker hub
  3. 在服务器上:拉动图像
  4. 在服务器上:启动图像

但码头推进需要永远.有30个图像,它必须遍历每个图像并说"图像已经存在".有什么方法可以加快速度吗?

或者,我应该使用不同的流程进行部署吗?

deployment docker

7
推荐指数
2
解决办法
7558
查看次数

定义幻像类型 - 无法编译示例

我正在尝试了解有关幻影类型的更多信息.我正试图通过Ralf Hinze 阅读有趣的幻影类型.他正在使用with我以前从未见过的关键字,我无法编译.=当我尝试这个时,我得到一个解析错误.

data Type t = RInt                    with t = Int
            | RChar                   with t = Char
            | RList (Type a)          with t = [a ]
            | RPair (Type a) (Type b) with t = (a, b)
Run Code Online (Sandbox Code Playgroud)

在本文的前面,他说"with"语句并不是绝对必要的,你可以设置a = t,但我无法弄清楚如何在没有它们的情况下定义这种数据类型.以下错误:Not in scope: type variable 'a'

data Type t = RInt
            | RChar
            | RList (Type a)
            | RPair (Type a) (Type b)
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

haskell types algebraic-data-types phantom-types

7
推荐指数
2
解决办法
147
查看次数

如何使用红宝石纤维以避免阻塞IO

我需要将目录中的一堆文件上传到S3.由于上传所需的时间超过90%用于等待http请求完成,我想以某种方式同时执行其中的几个.

纤维能帮我解决这个问题吗?它们被描述为解决此类问题的一种方法,但我无法想到在http调用阻塞时我可以做任何工作.

没有线程,我能用任何方式解决这个问题吗?

ruby ruby-1.9

6
推荐指数
1
解决办法
3276
查看次数

Haskell解析内存不足的大xml文件

所以,我已经使用了几个Haskell XML库,包括hexpat和xml-enumerator.在阅读了真实世界Haskell(http://book.realworldhaskell.org/read/io.html)中的IO章节之后,我的印象是,如果我运行以下代码,那么在我浏览它时它将被垃圾收集.

但是,当我在一个大文件上运行时,内存使用量会随着运行而不断攀升.

runghc parse.hs bigfile.xml
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我的假设错了吗?地图/过滤器是否强制它评估所有内容?

import qualified Data.ByteString.Lazy as BSL
import qualified Data.ByteString.Lazy.UTF8 as U
import Prelude hiding (readFile)
import Text.XML.Expat.SAX 
import System.Environment (getArgs)

main :: IO ()
main = do
    args <- getArgs
    contents <- BSL.readFile (head args)
    -- putStrLn $ U.toString contents
    let events = parse defaultParseOptions contents 
    mapM_ print $ map getTMSId $ filter isEvent events

isEvent :: SAXEvent String String -> Bool 
isEvent (StartElement "event" as) = True
isEvent _ = False

getTMSId :: …
Run Code Online (Sandbox Code Playgroud)

xml memory haskell stream expat-parser

6
推荐指数
1
解决办法
928
查看次数

如何使用Happstack创建JSON Rest API?JSON身体?

我正在尝试使用Happstack创建一个JSON REST api.它应该允许带有JSON主体的POSTS.我怎样才能做到这一点?happstack的API中的所有函数似乎都根据参数名称查找.它认为身体总是经过网址编码.

如果使用Happstack是不可能的,我应该使用哪个框架?

haskell happstack

6
推荐指数
1
解决办法
1829
查看次数

仅适用于某种类型的构造函数的函数

我正在为消息队列编写一个lib.队列可以是DirectTopic.Direct队列具有静态绑定密钥,而Topic队列可以具有动态密钥.

我想编写一个publish仅适用于Direct队列的函数.这有效:

{-# LANGUAGE DataKinds #-}

type Name = Text
type DirectKey = Text
type TopicKey = [Text]

data QueueType
  = Direct DirectKey
  | Topic TopicKey

data Queue (kind :: a -> QueueType)
  = Queue Name QueueType
Run Code Online (Sandbox Code Playgroud)

这需要两个独立的构造函数

directQueue :: Name -> DirectKey -> Queue 'Direct

topicQueue :: Name -> TopicKey -> Queue 'Topic
Run Code Online (Sandbox Code Playgroud)

但是当我去编写发布时,我需要匹配一个额外的模式,这是不可能的

publish :: Queue 'Direct -> IO ()
publish (Queue name (Direct key)) = …
Run Code Online (Sandbox Code Playgroud)

haskell types message-queue data-kinds

6
推荐指数
1
解决办法
259
查看次数