我正在尝试将动态递归导航列表菜单添加到我正在处理的网站.场景是菜单有两个与parentid(preid)相关的关卡.
我的问题是我可以正确显示第一级列表,但是我无法正确显示第二级.我不知道在哪里添加第二级的UL和/ UL标签.
这就是我所追求的
<ul>
<li>Item 1</li>
<li>item 2</li>
<li>item 3</li>
<ul>
<li>sub item 1</li>
<li>sub item 2</li>
</ul>
<li>Item 4</li>
<li>item 5</li>
<ul>
<li>sub item 1</li>
<li>sub item 2</li>
</ul>
<li>item 6</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
这实际上是我得到以下代码:
<ul>
<li>item 1
<ul>
</ul>
</li>
<li>item 2
<ul>
<li>sub item 1</li>
<ul>
</ul>
<li>sub item 2</li>
<ul>
</ul>
</ul>
</li>
<li>Sports Injuries
<ul>
</ul>
</li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
下面是我用来创建菜单的类文件:
class Dynamic_Menu
{
function getConfig()
{
$this->DB_SERVER = 'localhost';
$this->DB_USER = '***';
$this->DB_PASS = '***'; …Run Code Online (Sandbox Code Playgroud) 我收到有关此查询的错误消息
query = "select count(*) from pgns_game where raw_moves = %s"
params = ('a',)
total_rows = self.model.objects.raw(query, params)
Run Code Online (Sandbox Code Playgroud)
它说
InvalidQuery('Raw query must include the primary key')
Run Code Online (Sandbox Code Playgroud)
我显然遗漏了一些东西,但我不知道是什么.有任何想法吗?
我的基本问题很少,如果有人能清楚这一点,我会感激不尽.
1:当我说base*b = new derived时,它是什么意思; 为什么一个人会这样做?我们很好地分别可以为类base和派生类创建对象,然后相应地调用函数.我知道这个基础*b =新派生的; 被称为对象切片,但为什么以及何时会这样做呢?
2:我知道为什么不建议将基类对象转换为派生类对象(因为基类不知道派生类成员和方法).我甚至在其他StackOverflow线程中读到,如果情况确实如此,那么我们必须更改/重新访问我们的设计.我理解这一切,然而,我只是好奇,有没有办法做到这一点?
class base
{
public:
void f(){cout << "In Base";}
};
class derived:public base
{
public:
void f(){cout << "In Derived";}
};
int _tmain(int argc, _TCHAR* argv[])
{
base b1, b2;
derived d1, d2;
b2 = d1;
d2 = reinterpret_cast<derived*>(b1); //gives error C2440
b1.f(); // Prints In Base
d1.f(); // Prints In Derived
b2.f(); // Prints In Base
d1.base::f(); //Prints In Base
d2.f();
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
3:在上面的例子中,有什么方法可以使用派生类对象调用基类f()?我使用了d1.base():: f()我只是想知道是否有任何方法没有使用范围解析运算符? …
我有活动A和B.A是具有LAUNCHER intent-filter的那个(即当我们点击主屏幕上的app图标时启动的活动).
A,使用启动乙startActivity(new Intent(A.this, B.class)).
当用户打开B活动,然后将我的应用程序放到后台,然后我的应用程序的进程被杀死,当用户再次启动我的应用程序时,打开B而不是A.
这导致我的应用程序中的一个强制关闭,因为A是初始化我的应用程序所需资源的活动,当B尝试访问未初始化的资源时,B崩溃.
在这种情况下我有什么建议吗?
我已经尝试过但我仍然得到"糟糕的数据".如何使用RSACryptoServiceProvider使用公钥的Exponent/Modulus解密数据?
public static byte[] Encrypt(byte[] b, byte[] mod, byte[] exp)
{
CspParameters csp = new CspParameters();
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
RSACryptoServiceProvider.UseMachineKeyStore = false;
RSAParameters par = new RSAParameters();
par.Exponent = exp;
par.Modulus = mod;
rsa.ImportParameters(par);
return rsa.Encrypt(b, false);
}
public static byte[] Decrypt(byte[] b, byte[] pubexp, byte[] mod, byte[] priexp)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
RSACryptoServiceProvider.UseMachineKeyStore = false;
RSAParameters rp = new RSAParameters();
rp.Exponent = pubexp;
rp.D = priexp;
rp.Modulus = mod;
rsa.ImportParameters(rp);
return rsa.Decrypt(b, false);
}
static …Run Code Online (Sandbox Code Playgroud) 如果使用Marshal.dump写入文件,我有一个大约10兆字节的Ruby哈希.在gzip压缩之后它大约是500千字节.
迭代和更改此哈希在ruby中非常快(一毫秒的分数).即使复制它也非常快.
问题是我需要在Ruby on Rails进程之间共享此哈希中的数据.为了使用Rails缓存(file_store或memcached)执行此操作,我首先需要Marshal.dump文件,但是在序列化文件时会产生1000毫秒的延迟,在序列化时会产生400毫秒的延迟.
理想情况下,我希望能够在不到100毫秒的时间内从每个进程保存和加载此哈希.
一个想法是生成一个新的Ruby进程来保存这个哈希,为其他进程提供一个API来修改或处理其中的数据,但我想避免这样做,除非我确定没有其他方法可以共享这个对象很快.
有没有一种方法可以更直接地在进程之间共享此哈希,而无需序列化或反序列化它?
这是我用来生成类似于我正在使用的哈希的代码:
@a = []
0.upto(500) do |r|
@a[r] = []
0.upto(10_000) do |c|
if rand(10) == 0
@a[r][c] = 1 # 10% chance of being 1
else
@a[r][c] = 0
end
end
end
@c = Marshal.dump(@a) # 1000 milliseconds
Marshal.load(@c) # 400 milliseconds
Run Code Online (Sandbox Code Playgroud)
更新:
由于我的原始问题没有得到很多答复,我假设没有像我希望的那样简单的解决方案.
目前我正在考虑两种选择:
我的问题的范围已经增加,使得哈希可能比我原来的例子更大.所以#2可能是必要的.但是我不知道从哪里开始编写暴露适当API的C应用程序.
通过如何最好地实施#1或#2的良好演练可能会获得最佳答案.
更新2
我最终将它实现为一个用Ruby 1.9编写的独立应用程序,它具有与应用程序实例通信的DRb接口.我使用Daemons gem在Web服务器启动时生成DRb实例.启动时,DRb应用程序从数据库加载必要的数据,然后与客户端通信以返回结果并保持最新.它现在在生产中运行得很好.谢谢您的帮助!
我在python中有问题。我正在使用 scipy,我使用 scipy.io 加载 .mat 文件。.mat 文件是使用 MATLAB 创建的。
listOfFiles = os.listdir(loadpathTrain)
for f in listOfFiles:
fullPath = loadpathTrain + '/' + f
mat_contents = sio.loadmat(fullPath)
print fullPath
Run Code Online (Sandbox Code Playgroud)
这是错误:
Traceback (most recent call last):
File "tryRankNet.py", line 1112, in <module>
demo()
File "tryRankNet.py", line 645, in demo
mat_contents = sio.loadmat(fullPath)
File "/usr/lib/python2.6/dist-packages/scipy/io/matlab/mio.py", line 111, in loadmat
matfile_dict = MR.get_variables()
File "/usr/lib/python2.6/dist-packages/scipy/io/matlab/miobase.py", line 356, in get_variables
getter = self.matrix_getter_factory()
File "/usr/lib/python2.6/dist-packages/scipy/io/matlab/mio5.py", line 602, in matrix_getter_factory
return self._array_reader.matrix_getter_factory()
File "/usr/lib/python2.6/dist-packages/scipy/io/matlab/mio5.py", line 274, …Run Code Online (Sandbox Code Playgroud) 我的文字有这些花哨的双引号:'''我想用Ruby gsub和regex用常规双引号替换它们.这是一个例子,我到目前为止:
sentence = 'This is a quote, “Hey guys!”'
I couldn't figure out how to escape double quotes so I tried using 34.chr:
sentence.gsub("“",34.chr). This gets me close but leaves a back slash in front of the double quote:
sentence.gsub("“",34.chr) => 'This is a quote, \"Hey guys!”'
Run Code Online (Sandbox Code Playgroud) 我一直在寻找,但找不到文档:
有没有办法让页面呈现没有包装HTML元素的响应,只打印在tml主体中提供的内容,或者在@BeginRender期间在MarkupWriter.write中设置的内容?
我需要一个页面来执行一些服务器端处理并返回纯javascript以供外部应用程序请求.
如果这是不可能的,是否可以将tapestry Ioc暴露给同一个应用程序中的servlet?
谢谢,p.
我正在尝试从字符串的前端和末尾修剪空白区域.看起来as3没有修剪功能.任何人都知道如何做到这一点?
ruby ×2
adobe ×1
android ×1
apache-flex ×1
c ×1
c# ×1
c++ ×1
django ×1
file-io ×1
gsub ×1
html-lists ×1
navigation ×1
overloading ×1
overriding ×1
performance ×1
php ×1
polymorphism ×1
python ×1
recursion ×1
regex ×1
rsa ×1
scipy ×1
stack ×1
tapestry ×1
task ×1