我目前正在尝试在Win7 64位上将Magit与Emacs 23.1结合使用,但是Magit无法识别我的git存储库。请记住,我是一名完整的Emacs新手。
我运行magit-status命令,它要求一个包含存储库的目录,我显然输入了该目录,然后每次我尝试时都说:“ e:/ path / to / directory中没有Git存储库。当肯定有一个存储库时,创建一个?(y或n)。
还有其他人遇到过吗?我读到它可能是找不到实际的git.exe,并且我尝试弄乱我的Path变量,但是我没有做任何让Magit识别我的存储库的事情。有任何想法吗?
我这里有一个中型内部网站点,完全用Zend FW编写.Intranet的数据库位于另一台服务器上.现在我需要使用一些新功能扩展Intranet.为了做到这一点,我需要连接到同一服务器(和相同的DBMS)上的另一个数据库.
现在的问题是:最好的方法是什么?我应该创建一个新的Zend_Config对象和一个新的Zend_Db_Adapter吗?或者我应该使用现有的并尝试使用"use otherdbname;" 声明在同一会话中连接到新数据库?
或者有更好的方法吗?
我的程序写入日志和stdout.但是,每条消息都有一定的优先级,用户在Preferences中指定哪个优先级转到哪个流(log或stdout).
unsigned short PRIO_HIGH = 0x0001;
unsigned short PRIO_NORMAL = 0x0002;
unsigned short PRIO_LOW = 0x0004;
Run Code Online (Sandbox Code Playgroud)
首选项由一些标志处理:
unsigned short PRIO_LOG = (PRIO_HIGH | PRIO_NORMAL);
unsigned short PRIO_STD = (PRIO_HIGH);
Run Code Online (Sandbox Code Playgroud)
该write_log函数应使用与printf函数相同的参数,并添加参数unsigned short priority.
write_log((PRIO_NORMAL|PRIO_LOW), "HELLO %s, take %d", "World", 1);
Run Code Online (Sandbox Code Playgroud)
(即使PRIO_NORMAL|PRIO_LOW没什么意义......)
检查标志很简单:( if(priority & PRIO_LOG)如果在两个参数中都设置了任何标志,则返回> 1)
但是,我不知道如何将字符串文字和格式参数传递给printf函数.任何人都可以帮助或给我一个指针(可能的替代方法可以实现相同的效果)?非常感谢.
我在Interbase中有一个数据库,我想使用ActiveRecord直接从我的Rails应用程序访问它.我该怎么做?
我们必须根据三个输入数据字段查找一些数据.查找必须快速.只有大约20种可能的查找组合.我们使用静态HashMap实例实现了这一点,我们通过连接三个数据字段来创建密钥.有没有更好的方法来做到这一点,或者这是要走的路?代码如下.
更新:我并不是说这段代码很慢.只是好奇是否有更好的方法来做到这一点.我认为可能会有一个更优雅的解决方案,但如果没有令人信服的替代方案,我很乐意保持这一点!
创建类级静态HashMap实例:
private static HashMap map = new HashMap();
Run Code Online (Sandbox Code Playgroud)
我们如何将数据加载到内存中:
private void load(Iterator iterator) {
while (iterator.next()) {
Object o = it.next();
key = o.getField1() + "-" + o.getField2() + "-" o.getField3();
map.put(key, o.getData());
}
}
Run Code Online (Sandbox Code Playgroud)
以及我们如何根据以下三个字段查找数据:
private Stirng getData(String f1, String f2, String f3) {
String key = f1 + "-" + f2 + "-" f3;
return map.get(key);
}
Run Code Online (Sandbox Code Playgroud) 我有一个存储类型字典的数组:
//The dictionary:
Dictionary<CacheKey,Type> TypeLookup;
//This is the enum:
public enum CacheKey
{
UserProfile,
CustomerQuickSearch,
CommissionConfiguration
}
Run Code Online (Sandbox Code Playgroud)
我想使用这个Dictionary来声明一个T类型的变量
//instead of
T myvar;
//I want to dynamically declare myvar as:
//1)get the type for the cacheKey from the dictionary:
Type type = TypeLookup[cacheKey];
//2)declare myvar as the corresponding Type:
type myvar;
Run Code Online (Sandbox Code Playgroud)
背景是我正在构建分布式缓存基础结构.我有一个很棒的CachingProvider,它允许您更新缓存中的项目.
我想将此方法公开为Web服务,以便我的服务器场中的所有服务器都可以更新其缓存.但我希望只有一个方法作为Web服务公开,然后更新缓存中的相应项.
这是我试图揭示的方法:
public static void UpdateCacheEntryItem<T>(CacheKey cacheKey, int id)
{
//look up the cacheEntry in cache which is a dictionary.
Dictionary<int, T> cacheEntry = (Dictionary<int, T>) CacheRef[cacheKey.ToString()];
//call the …Run Code Online (Sandbox Code Playgroud) 我面临着我的C++库设计的问题.它是一个用于读取流的库,支持我在其他"流"实现中找不到的功能.为什么我决定开始写它并不重要.关键是我有一个流类,它通过多重继承提供两个重要的行为:可共享性和可搜索性.
可共享流是具有shareBlock(size_t length)方法的流,该方法返回与其父流共享资源的新流(例如,使用父流使用的相同内存块).可搜索的流是那些......好的,可寻找的.通过方法seek(),这些类可以寻找流中的给定点.并非所有库的流都是可共享和/或可搜索的.
提供搜索和共享资源实现的流类继承了名为Seekable和Shareable的接口类.这一切都很好,如果我知道有这么一个流的类型,但是,有时候,我会想一个函数接受这样的说法,仅仅满足的是可查找和共享,同时质量流,不管是哪个实际上流类它是.我可以创建另一个继承Seekable和Shareable并且引用该类型的类,但是我必须使我的类既可以从该类继承,又可以共享.如果要添加更多类似的"行为类",我需要在代码中的每个地方进行一些修改,很快就会导致无法维护的代码.有没有办法解决这个难题?如果没有,那么我绝对会明白为什么人们不满足于多重继承.它几乎完成了这项工作,但是,就在那时,它没有:D
任何帮助表示赞赏.
- 第二次编辑,首选问题解决 -
起初我认为Managu的解决方案将是我的首选.然而,Matthieu M.带来了另一个我更喜欢Managu的:使用boost::enable_if<>.如果BOOST_MPL_ASSERT制作的消息不那么令人毛骨悚然,我想使用Managu的解决方案.如果有任何方法可以创建有指导性的编译时错误消息,我肯定会这样做.但是,正如我所说,可用的方法产生令人毛骨悚然的消息.因此,我更喜欢在boost::enable_if<>条件不满足时产生的(更多)较少的指导性但更清晰的信息.
我已经创建了一些宏来简化任务来编写模板函数,这些函数接受继承select类类型的参数,在这里它们是:
// SonettoEnableIfDerivedMacros.h
#ifndef SONETTO_ENABLEIFDERIVEDMACROS_H
#define SONETTO_ENABLEIFDERIVEDMACROS_H
#include <boost/preprocessor/repetition/repeat.hpp>
#include <boost/preprocessor/array/elem.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/and.hpp>
#include <boost/type_traits/is_base_and_derived.hpp>
#include <boost/utility/enable_if.hpp>
/*
For each (TemplateArgument,DerivedClassType) preprocessor tuple,
expand: `boost::is_base_and_derived<DerivedClassType,TemplateArgument>,'
*/
#define SONETTO_ENABLE_IF_DERIVED_EXPAND_CONDITION(z,n,data) \
boost::is_base_and_derived<BOOST_PP_TUPLE_ELEM(2,1,BOOST_PP_ARRAY_ELEM(n,data)), \
BOOST_PP_TUPLE_ELEM(2,0,BOOST_PP_ARRAY_ELEM(n,data))>,
/*
ReturnType: Return type of the function
DerivationsArray: Boost.Preprocessor array containing tuples in the form
(TemplateArgument,DerivedClassType) (see
SONETTO_ENABLE_IF_DERIVED_EXPAND_CONDITION)
Expands:
typename boost::enable_if<
boost::mpl::and_<
boost::is_base_and_derived<DerivedClassType,TemplateArgument>,
... …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个带有文件的DOS批处理程序:
First input line
Second input line
Third input line...
Run Code Online (Sandbox Code Playgroud)
并输出"第一输入线"