问题列表 - 第36473页

Scala递归泛型:父[Child]和Child [Parent]

更新:澄清和扩展,因为原始问题被简化得太过分了

我需要一对特征,每个特征引用另一个特征,使父类和子类必须相互关联.

trait Parent [C <: Child] {
  def foo(c: C)
}

trait Child [P <: Parent] {
  def parent: P = ...
  def bar = parent.foo(this)
}
Run Code Online (Sandbox Code Playgroud)

这样实现类必须成对出现:

class ActualParent extends Parent [ActualChild] {
  def foo(c: ActualChild) = ...
}

class ActualChild extends Child [ActualParent] {
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,编译器不喜欢这些特性,因为泛型类型并不完整.而不是C <: Child需要说C <: Child[些什么].如果不指定它们也不起作用:

trait Parent [C <: Child[_]] {
  def foo(c: C)
}

trait Child [P <: Parent[_]] {
  def parent: P = …
Run Code Online (Sandbox Code Playgroud)

generics types scala

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

从MATLAB连接到MongoDB

我正在尝试将MongoDB与MATLAB 一起使用.虽然MATLAB 没有支持的驱动程序,但有一个用于Java.幸运的是,我能够使用它连接到db等.我下载了最新的(2.1)版本的jar文件并使用JAVAADDPATH安装它.然后我尝试按照Java教程.

这是代码

javaaddpath('c:\MATLAB\myJavaClasses\mongo-2.1.jar')

import com.mongodb.Mongo;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;

m = Mongo(); % connect to local db
db = m.getDB('test'); % get db object
colls = db.getCollectionNames(); % get collection names
coll = db.getCollection('things'); % get DBCollection object

doc = BasicDBObject();
doc.put('name', 'MongoDB');
doc.put('type', 'database');
doc.put('count', 1);
info = BasicDBObject();
info.put('x', 203);
info.put('y', 102);
doc.put('info', info);
coll.insert(doc);
Run Code Online (Sandbox Code Playgroud)

这是我堆积的地方.coll应该是DBCollection对象,但实际上是com.mongodb.DBApiLayer$MyCollection类的对象.所以最后一个命令返回错误: …

matlab mongodb

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

在bash中从mysql获取计数val的最简单方法

也许我应该使用python或perl,但我不知道任何.

我有4个陈述,我想检查是否有任何错误超过一个小时.我的用户设置好所以我不需要输入mysql用户/通行证.该语句位于mysql_webapp_error_check.sh中

#!/bin/bash
mysql testdb -e "select count(*) from tbl where last_error_date < DATE_SUB(NOW(), INTERVAL 1  HOUR);"
Run Code Online (Sandbox Code Playgroud)

如何让它给我返回值(count(*))而不是打印到屏幕?

然后我会写一个if语句并输出到stdout/err以供cron用来给我发电子邮件(否则我希望脚本保持沉默,所以没有通过电子邮件发送,除非有问题)

mysql bash

3
推荐指数
2
解决办法
8817
查看次数

为什么connect()会给EADDRNOTAVAIL?

我在我的应用程序中出现了一个似乎不可重现的故障.我有一个TCP套接字连接失败,应用程序尝试重新连接它.在第二次调用connect()尝试重新连接时,我得到了errno == EADDRNOTAVAIL的错误结果,connect()的手册页表示:"指定的地址不能从本地计算机上获得."

看看对connect()的调用,第二个参数似乎是错误引用的地址,但据我所知,这个参数是远程主机的TCP套接字地址,所以我对这个人感到困惑页面引用本地计算机.是否我的本地计算机无法访问远程TCP套接字主机的此地址?如果是这样,为什么会这样呢?它必须在连接失败之前第一次成功调用connect()并尝试重新连接并获得此错误.connect()的参数两次都是相同的.

这个错误会不会是一个短暂的错误,如果我等了很长时间,如果我再次尝试调用connect可能已经消失了?如果没有,我应该如何从这次失败中恢复?

c++ sockets linux tcp ip-address

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

扩展多个Java类,无需重复

我有一个Java类,可以扩展两个第三方类中的任何一个,我无法改变.我可以在编译时选择这些实现中的任何一个,除了"extends"声明之外我没有更改我的类.不幸的是,我需要选择在运行时使用哪个实现,而不是在编译时.在运行时在这两个实现之间进行选择而不重复整个派生类的最佳方法是什么?

java design-patterns

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

如何在rails中创建div ID变量?

我觉得应该有一个简单的方法来做到这一点,但我只是不知道它是什么.我有一个要显示的数据列表,我想要包含一个AJAX"Read More"功能来扩展每个段底部的信息.为此,我需要在每个段中使用唯一的div ID.我有这个代码:

<% for choice in @student_choices %>
    <div id= "student_description", style="display:none;">
        <%= choice[:description]%>
    </div>
    <%= link_to_function "Read More", "Element.show("student_description")"%>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但由于有多个div ID,单击"Read More"仅显示第一个.如何插入变量div ID?我知道如何在PHP中执行此操作,但这让我很难过.即使我们将div ID本身变为可变,我们如何让Element.show接受变量?

css ajax jquery ruby-on-rails prototypejs

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

如何使用gdb获取存储在寄存器中的值?"p/x $ ebx"失败并显示"No registers".

假设以下是asm代码

 8048deb:       e8 41 05 00 00          call   8049331 <explode_bomb>
 8048df0:       03 73 f4                add    -0xc(%ebx),%esi
 8048df3:       83 c3 04                add    $0x4,%ebx
 8048df6:       8d 45 f8                lea    -0x8(%ebp),%eax
 8048df9:       39 c3                   cmp    %eax,%ebx
 8048dfb:       75 e7                   jne    8048de4 <phase_2+0x22>
Run Code Online (Sandbox Code Playgroud)

我在最后一行设置了一个断点,此时,我期待%eax和%ebx都存储了一些内容.

在gdb中,我这样做

p/x $ebx
Run Code Online (Sandbox Code Playgroud)

得到:

No registers.
Run Code Online (Sandbox Code Playgroud)

这个错误是什么意思?如何获取存储在寄存器中的当前内容?

gdb

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

在云端的IIS7上托管学生项目

我打算一段时间教一个ASP.NET MVC课程.我想在通过互联网访问的网络服务器上托管学生项目.为此,我计划在亚马逊ec2上租用一台Windows机器.学生将上传他们的ASP.NET网站,以便他们可以在线查看他们的项目,并允许其他学生访问它们.我的问题是如何使用IIS 7.x设置Windows 2008服务器以支持此功能.我应该为IIS站点下的每个学生创建一个虚拟目录/应用程序,并通过某个界面公开该虚拟目录/应用程序,学生可以访问以发布其内容.我应该使用SFTP还是WebDav.我不想在机器上为每个学生创建Windows用户帐户.如果有人有这方面的经验,我想听听他们的意见.

iis iis-7 iis-6 cloud-hosting

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

如何使用Samsumg Galaxy 5设备开发Android应用程序?

我正在开发我的第一个Android应用程序.我已经在2010年4月发布的Ubuntu 10.04 LTS - Lucid Lynx上的模拟器(Eclipse + Android开发工具)上运行了一个应用程序.我已经在此链接上尝试了Android开发者门户网站提供步骤,但每当我尝试使用./adb设备列出我已连接的设备我得到以下内容:

mmaia@mmaia-desktop:~/tools/android-sdk-linux_86/tools$ ./adb devices
List of devices attached 
????????????    no permissions
Run Code Online (Sandbox Code Playgroud)

我已经检查过,当我运行虚拟仿真器时,同样的命令返回:

List of devices attached 
????????????    no permissions
emulator-5554   device
Run Code Online (Sandbox Code Playgroud)

另外当我要求eclipse运行模拟器时它会找到设备(galaxy 5),看下面的图片,但是找不到串口,可能是因为有些许可,我只能选择虚拟模拟器.

替代文字

如何在Ubuntu 10.04下为Android开发时配置将Galaxy 5用作设备的权限?

[]中

linux ubuntu android device

3
推荐指数
1
解决办法
3474
查看次数

如何通过进程重定向脚本的输出?

我想通过日志记录程序重定向 bash 脚本的输出。具体来说,Apache 的 logrotate 实用程序。重定向需要在脚本本身内设置。

如果在命令行上完成重定向,则在执行脚本时,它将如下所示:

myscript | logrotate -l $LOGFILE.%F 86400 2>&1
Run Code Online (Sandbox Code Playgroud)

以下是脚本内部用于完成输出重定向的一些伪代码,但它不起作用:

exec >(logrotate -l $LOGFILE.log.%F 86400) 2>&1
Run Code Online (Sandbox Code Playgroud)

bash shell redirect

5
推荐指数
1
解决办法
1258
查看次数