问题列表 - 第24672页

Gnu Emacs 缩进我的 typedef

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)

我可以使用什么开关来获得它?

c emacs indentation

4
推荐指数
1
解决办法
449
查看次数

php使用通配符选择哈希

说我有一个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'开头的索引.

php hashmap string-matching

0
推荐指数
1
解决办法
226
查看次数

域服务方法未编译;声明“返回类型必须是实体...”

我有一个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对象的可调用方法吗?

wcf-ria-services

4
推荐指数
1
解决办法
8662
查看次数

解析大量数据(5Mb)的速度更快:eval还是json?

我想通过ajax获取一组数据对象并将它们解析为JS数据.

目前我有两个选择: - 服务器返回有效的JavaScript代码,然后我评估它. - 服务器返回JSON对象,然后我评估json对象

Firefox中最快的是什么?(我只关心"解析"性能,而不是服务器或数据传输)

javascript ajax jquery json eval

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

javascript new Date(0)class显示16个小时?

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)

javascript date

4
推荐指数
1
解决办法
4828
查看次数

你如何将自己传递给ruby中的class_eval?

我正在进行元编程任务,我正在尝试使用单个方法在调用类中定义多态关联,同时还定义目标类中的关联.我需要传入调用类的名称才能使关联正确.这是一个应该得到这个想法的片段:


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.

有什么建议?

ruby metaprogramming ruby-on-rails

2
推荐指数
1
解决办法
1975
查看次数

在运行时在gdb中添加函数

我正在尝试在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)

c++ gdb

8
推荐指数
1
解决办法
2438
查看次数

如何使用ADB通过TCP连接到Android?

我正在尝试在Motorola Droid上调试应用程序,但是我在通过USB连接到设备时遇到了一些困难.我的开发服务器是在Hyper-V中运行的Windows 7 64位VM ,因此无法通过客户端或主机上的USB直接连接.

我安装了几个不同的USB-over-TCP解决方案,但由于ADB监视器反复报告"devicemonitor无法开始监视" ,因此连接似乎存在问题.有没有办法使用网络直接从开发机器上的客户端连接到设备上的守护进程,而不是使用USB连接或可能的其他可行选项?

debugging networking android tcp adb

855
推荐指数
20
解决办法
102万
查看次数

如何在套接字之间正确中继TCP流量?

我正在尝试编写一些Python代码,它将在两个TCP套接字之间建立一个不可见的中继.我目前的技术是设置两个线程,每个线程读取并随后在特定方向上一次写入1kb数据(即A到B的1个线程,B到A的1个线程).

这适用于某些应用程序和协议,但它并非万无一失 - 有时特定应用程序在运行此基于Python的中继时的行为会有所不同.有些甚至崩溃.

我认为这是因为当我完成对套接字A的读取时,在那里运行的程序认为它的数据已经到达B,而实际上我 - 中间的狡猾的人 - 尚未将它发送给B.在B未准备好接收数据的情况下(暂时send()阻塞了一段时间),我们现在处于A认为已成功向B发送数据的状态,但我仍然保持数据,等待send()呼叫执行.我认为这是我在某些应用程序中发现的行为差异的原因,同时使用我当前的中继代码.我错过了什么,或听起来是否正确?

如果是这样,我真正的问题是:有没有解决这个问题的方法?当我们知道B准备好接收数据时,是否可以只读取套接字A?或者是否有另一种技术可用于在[已经打开和建立的] TCP套接字之间建立真正"隐形"的双向中继?

python sockets tcp portforwarding

4
推荐指数
1
解决办法
3282
查看次数

在运行时设置泛型类型

我上课了

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)

c# generics

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