如何在objective-c中将NSMutableArray转换为NSArray ?
我正在尝试构建一个依赖于Boost的应用程序.所以我将Boost 1_41_0下载到我的Linux盒子中,然后按照Boost站点上的Unix变种说明进行操作, http://www.boost.org/doc/libs/1_41_0/more/getting_started/unix-variants.html.
他们基本上建议我运行./bjam install,我做了.构建成功完成.但是,库名称似乎与上面的文档中描述的Boost命名约定不匹配,以及我正在尝试构建的应用程序的makefile中指定的内容.
我注意到我可以为bjam指定一些选项,我尝试使用这些选项,但不管发生了什么,我似乎都无法做到这一点.我的理解是库应该进入$ BOOST_ROOT/lib目录.这是库出现的地方,但命名为:
libboost_thread.a
libboost_thread.so
libboost_thread.so.1.41.0
Run Code Online (Sandbox Code Playgroud)
我希望它们被命名为libboost_thread-gcc41-mt-d-1_41_0或类似的东西.
我试过./bjam --build-type = complete --layout = tagged,我看到:
libboost_thread.a
libboost_thread-mt.a
libboost_thread-mt-d.a
libboost_thread-mt-d.so
libboost_thread-mt-d.so.1.41.0
libboost_thread-mt-s.a
libboost_thread-mt-sd.a
libboost_thread-mt.so
libboost_thread-mt.so.1.41.0
libboost_thread.so
libboost_thread.so.1.41.0
Run Code Online (Sandbox Code Playgroud)
所以,我不确定我是否应该创建舞台我的-L目录?有没有更详细地描述这个的文件?
有没有办法在一个TreeView's中指定HierarchicalDataTemplate使用不同的ContextMenu取决于项目绑定的数据的属性?
例如,ContextMenu如果Item.IsFile为真则显示一个,如果为真则显示不同的一个Item.IsFolder,等等.
data-binding wpf treeview contextmenu hierarchicaldatatemplate
我期待创建一个数据数组,以传递给从数据库查询填充的另一个函数,我不知道如何做到这一点.
$dataArray[0][1];
$qry = mysql_query("SELECT Id, name FROM users");
while($res = mysql_fetch_array($qry)) {
$dataArray[$res['Id']][$res['name']]
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
Reactive Extensions带有许多辅助方法,用于将现有事件和异步操作转换为可观察对象,但是如何从头开始实现IObservable <T>?
IEnumerable有一个可爱的yield关键字,使其实现起来非常简单.
实现IObservable <T>的正确方法是什么?
我需要担心线程安全吗?
我知道有人支持在特定的同步上下文中回调,但这是否是我作为IObservable <T>作者需要担心或者以某种方式内置的内容?
更新:
这是Brian的F#解决方案的C#版本
using System;
using System.Linq;
using Microsoft.FSharp.Collections;
namespace Jesperll
{
class Observable<T> : IObservable<T>, IDisposable where T : EventArgs
{
private FSharpMap<int, IObserver<T>> subscribers =
FSharpMap<int, IObserver<T>>.Empty;
private readonly object thisLock = new object();
private int key;
private bool isDisposed;
public void Dispose()
{
Dispose(true);
}
protected virtual void Dispose(bool disposing)
{
if (disposing && !isDisposed)
{
OnCompleted();
isDisposed = true;
}
}
protected void OnNext(T value)
{
if (isDisposed) …Run Code Online (Sandbox Code Playgroud) public abstract class A
{
public abstract void Process();
}
public abstract class B : A
{
public abstract override void Process();
}
public class C : B
{
public override void Process()
{
Console.WriteLine("abc");
}
}
Run Code Online (Sandbox Code Playgroud)
此代码抛出编译错误:'B'不实现继承的抽象成员'A.Process()'.
有没有办法做到这一点?
我需要一个c#中的方法,它使我看起来像一个双/浮点数的日期时间.
例如
1.5 - > 01:30 2.8 - > 02:48 25.5 - > 25:30(注意:不要显示为日,显示整个小时甚至超过24)
是否有正则表达式引擎在正则表达式模式解析期间进行实时编译,并在匹配/替换文本时使用?或者我在哪里可以学习JIT for i386或x64架构?
我最近试图对Python的内置正则表达式引擎进行测试,而普通的C代码与大约10MB的数据相比.
我发现,对于一个简单的替换(例如ab到zzz)它的比较快的:比C慢仅有2〜3倍
但是因为[a-z]c它花了大约5到8倍的时间.
并与分组(例如([a-z])(c)到AA\2\1BB)花了20到40倍尽可能多的时间C.
它不是即时编译,但我认为,如果我可以进行即时编译,它可以加速更多.
PS:我在编译模式期间对每个正则表达式模式使用性能分析,例如,简介1的ab配置文件1,范围的[a-z]c配置文件2 ,带分组的配置文件3 ([a-z])(c),每个配置文件具有单独的代码,因此在匹配和替换简单模式时不需要额外的成本.
我用psyco尝试过它,它并没有提高速度.可能是因为我正在对大数据进行文本替换,而不是多次循环.
如果我没有错,re.sub那么我认为Python已经在原生运行了,所以pysco无法提高速度.
我尝试将boost regex包装到python中,但它甚至比Python的正则表达式慢,所以看起来瓶颈在于Python的字符串处理,Jan Goyvaerts也在答案中指出了这一点.
我想将正则表达式转换ab[a-z]c为机器码,如下面的等效C代码(*s指向10MB长文本):
do{
if(*s=='a' && s[1]=='b' && s[2]>='a' && s[2]<='z' && s[3]=='c') return 1;
}while(*s++);
return 0;
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我尝试在没有Nib的UIWebView中显示一个简单的网页.问题是,当我点击我的buttun时,会出现一个新的页面空白页面,但没有显示任何内容.我错过了什么?
- (void)loadView {
UIView *topView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
self.webView = web;
NSString *urlAddress = @"http://www.google.com";
NSURL *url = [[[NSURL alloc] initWithString:urlAddress] autorelease];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
[topView addSubview:self.webView];
[web release];
}
谢谢,
我有以下情况:
有一个已安装在Linux机器上的Windows文件夹.在这个Windows挂载中可能有多个文件夹(手动设置).我必须做一些事情(最好是一个开头的脚本)来观看这些文件夹.
以下是步骤:监视任何传入的文件.确保它们完全转移.将其移动到另一个文件夹.我对Windows机器上的文件传输程序没有任何控制权.我相信这是一个安全的FTP.所以我不能要求该过程向我发送预告片文件以确保完成文件传输.
我写了一个bash脚本.我想知道这种方法可能存在的任何陷阱.原因是,有可能为这样的多个目录运行此脚本的多个副本.
目前,可能需要监控多达100个目录.
以下是脚本.我很抱歉在这里贴了很长一段时间.请花点时间仔细阅读并评论/批评它.:-)
它需要3个参数,必须要监视的文件夹,文件必须移动的文件夹,以及时间间隔,这已在下面说明.
对不起,对齐似乎有问题.Markdown似乎不喜欢它.我试图正确组织它,但不能这样做.
Linux servername 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386
GNU/Linux
#!/bin/bash
log_this()
{
message="$1"
now=`date "+%D-%T"`
echo $$": "$now ": " $message
}
usage()
{
cat << EOF
Usage: $0 <Directory to be watched> <Directory to transfer> <time interval>
Time interval is the amount of time after which the modification time of a
file will be monitored.
EOF
`exit 1`
}
if [ $# -lt 2 ] …Run Code Online (Sandbox Code Playgroud) c# ×3
linux ×2
objective-c ×2
abstract ×1
bash ×1
boost ×1
building ×1
c ×1
c++ ×1
cocoa ×1
cocoa-touch ×1
contextmenu ×1
data-binding ×1
datetime ×1
jit ×1
mysql ×1
nsarray ×1
overriding ×1
php ×1
python ×1
regex ×1
treeview ×1
uiwebview ×1
wpf ×1