Gnu Emacs 坚持按如下方式缩进我的 typedef:
typedef enum {
horizontal,
vertical,
}
shapes;
Run Code Online (Sandbox Code Playgroud)
我希望它缩进如下:
typedef enum {
horizontal,
vertical,
}
shapes;
Run Code Online (Sandbox Code Playgroud)
我可以使用什么开关来获得它?
说我有一个hashmap,
$hash = array('fox' => 'some value',
'fort' => 'some value 2',
'fork' => 'some value again);
Run Code Online (Sandbox Code Playgroud)
我正在尝试完成自动完成功能.当用户键入'fo'时,我想通过ajax从$ hash中检索3个键.当用户输入'for'时,我想只检索要塞和分叉的密钥.这可能吗?
我在想的是使用二进制搜索来将键与'f'隔离,而不是使用暴力搜索.然后在用户输入查询时继续删除索引.有更有效的解决方案吗?
编辑:关于通配符,我想知道的是,如果有办法做$ hash ["f*"],则返回所有以'f'开头的索引.
我有一个WCF RIA域服务,其中包含我要在用户单击按钮时调用的方法:
[Invoke]
public MyEntity PerformAnalysis(int someId)
{
return new MyEntity();
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试编译时,出现以下错误:
Operation named 'PerformAnalysis' does not conform to the required signature.
Return types must be an entity, collection of entities, or one of the
predefined serializable types.
Run Code Online (Sandbox Code Playgroud)
据我所知,MyEntity 是一个实体:
[Serializable]
public class MyEntity: EntityObject, IMyEntity
{
[Key]
[DataMember]
[Editable(false)]
public int DummyKey { get; set; }
[DataMember]
[Editable(false)]
public IEnumerable<SomeOtherEntity> Children { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想这里缺少一些简单的东西。有人可以告诉我如何创建可返回单个MyEntity对象的可调用方法吗?
我想通过ajax获取一组数据对象并将它们解析为JS数据.
目前我有两个选择: - 服务器返回有效的JavaScript代码,然后我评估它. - 服务器返回JSON对象,然后我评估json对象
Firefox中最快的是什么?(我只关心"解析"性能,而不是服务器或数据传输)
interval = new Date(0);
return interval.getHours();
Run Code Online (Sandbox Code Playgroud)
以上返回16.我希望它返回0.任何指针?getMinutes()和getSeconds()按预期返回零.谢谢!
我想做一个计时器:
function Timer(onUpdate) {
this.initialTime = 0;
this.timeStart = null;
this.onUpdate = onUpdate
this.getTotalTime = function() {
timeEnd = new Date();
diff = timeEnd.getTime() - this.timeStart.getTime();
return diff + this.initialTime;
};
this.formatTime = function() {
interval = new Date(this.getTotalTime());
return this.zeroPad(interval.getHours(), 2) + ":" + this.zeroPad(interval.getMinutes(),2) + ":" + this.zeroPad(interval.getSeconds(),2);
};
this.start = function() {
this.timeStart = new Date();
this.onUpdate(this.formatTime());
var timerInstance = this;
setTimeout(function() { timerInstance.updateTime(); }, 1000);
};
this.updateTime = function() …Run Code Online (Sandbox Code Playgroud) 我正在进行元编程任务,我正在尝试使用单个方法在调用类中定义多态关联,同时还定义目标类中的关联.我需要传入调用类的名称才能使关联正确.这是一个应该得到这个想法的片段:
class SomeClass < ActiveRecord::Base
has_many :join_models, :dependent=>:destroy
end
class JoinModel < ActiveRecord::Base
belongs_to :some_class
belongs_to :entity, :polymorphic=>true
end
module Foo
module ClassMethods
def acts_as_entity
has_many :join_models, :as=>:entity, :dependent=>:destroy
has_many :some_classes, :through=>:join_models
klass = self.name.tableize
SomeClass.class_eval "has_many :#{klass}, :through=>:join_models"
end
end
end
Run Code Online (Sandbox Code Playgroud)
我想删除该klass=行,但不知道如何self将调用类的引用传递给class_eval.
有什么建议?
我正在尝试在gdb中调试一些基于STL的C++代码.代码有类似的东西
int myfunc()
{
std::map<int,int> m;
...
}
Run Code Online (Sandbox Code Playgroud)
现在在gdb中,使用"print m"在myfunc里面给出了非常难看的东西.我所看到的建议是编译类似的东西
void printmap( std::map<int,int> m )
{
for( std::map<int,int>::iterator it = ... )
{
printf("%d : %d", it->first, it->second );
}
}
Run Code Online (Sandbox Code Playgroud)
然后在gdb中做
(gdb) call printmap( m )
Run Code Online (Sandbox Code Playgroud)
这似乎是一个处理问题的好方法...但是我可以将printmap放入一个单独的目标文件(甚至是动态库),然后我在运行时加载到gdb而不是将其编译成我的二进制文件 - 因为每次重新编译二进制文件时间我想看看另一个STL变量并不好玩..同时为打印例程编译和加载单个.o文件是可以接受的.
更新:
提出尼古拉斯的建议我正在看dlopen/dlsym.
所以我还没有这个工作,但感觉我越来越近了.
在printit.cpp中
#include <stdio.h>
extern "C" void printit()
{
printf("OMG Fuzzies");
}
Run Code Online (Sandbox Code Playgroud)
使用编译为.so
g++ -Wall -g -fPIC -c printit.cpp
g++ -shared -Wl,-undefined,dynamic_lookup -o printit.so printit.o
Run Code Online (Sandbox Code Playgroud)
启动我的测试应用程序并使用dlopen(2 = RTLD_NOW)加载.so然后尝试使用dlsym获取调试函数的符号.
(gdb) break main
(gdb) run
(gdb) print (void*) dlopen("printit.so", 2 …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Motorola Droid上调试应用程序,但是我在通过USB连接到设备时遇到了一些困难.我的开发服务器是在Hyper-V中运行的Windows 7 64位VM ,因此无法通过客户端或主机上的USB直接连接.
我安装了几个不同的USB-over-TCP解决方案,但由于ADB监视器反复报告"devicemonitor无法开始监视" ,因此连接似乎存在问题.有没有办法使用网络直接从开发机器上的客户端连接到设备上的守护进程,而不是使用USB连接或可能的其他可行选项?
我正在尝试编写一些Python代码,它将在两个TCP套接字之间建立一个不可见的中继.我目前的技术是设置两个线程,每个线程读取并随后在特定方向上一次写入1kb数据(即A到B的1个线程,B到A的1个线程).
这适用于某些应用程序和协议,但它并非万无一失 - 有时特定应用程序在运行此基于Python的中继时的行为会有所不同.有些甚至崩溃.
我认为这是因为当我完成对套接字A的读取时,在那里运行的程序认为它的数据已经到达B,而实际上我 - 中间的狡猾的人 - 尚未将它发送给B.在B未准备好接收数据的情况下(暂时send()阻塞了一段时间),我们现在处于A认为已成功向B发送数据的状态,但我仍然保持数据,等待send()呼叫执行.我认为这是我在某些应用程序中发现的行为差异的原因,同时使用我当前的中继代码.我错过了什么,或听起来是否正确?
如果是这样,我真正的问题是:有没有解决这个问题的方法?当我们知道B准备好接收数据时,是否可以只读取套接字A?或者是否有另一种技术可用于在[已经打开和建立的] TCP套接字之间建立真正"隐形"的双向中继?
我上课了
public class A<T>
{
public static string B(T obj)
{
return TransformThisObjectToAString(obj);
}
}
Run Code Online (Sandbox Code Playgroud)
上面使用字符串纯粹是示范性的.我可以在已知/指定的类型上调用这样的静态函数:
string s= A<KnownType>.B(objectOfKnownType);
Run Code Online (Sandbox Code Playgroud)
如果我事先不知道T,我该怎么做这个调用,而是我有一个Type类型的变量来保存类型.如果我这样做:
Type t= typeof(string);
string s= A<t>.B(someStringObject);
Run Code Online (Sandbox Code Playgroud)
我得到这个编译器错误:
Cannot implicitly convert type 't' to 'object'
Run Code Online (Sandbox Code Playgroud)