小编JnB*_*ymn的帖子

在Ruby或Python中可以重写Class的概念吗?

第一次堆栈溢出.

我正在研究使用Ruby或Python提供的一些元编程功能,但首先我需要知道它们允许我扩展语言的程度.我需要做的主要是重写Class的概念.这并不意味着我要重写一个特定的过程中运行时类,而是我要让我自己的一个什么概念的.要想在这里变得更加具体,我想做一些人们通常称之为课堂的东西,但我想要遵循一个" 开放的世界""假设.在正常类的"封闭世界"中,如果我声称Poodle是Dog的子类是Animal的子类,那么我知道Poodle也不会是一种FurCoat.但是,在开放世界类,然后我定义的Poodle对象可能是也可能不是FurCoat类型的对象,我们不会确切知道,直到我解释我可以穿长卷毛狗.(可怜的贵宾犬.)这一切都要做我正在做一项关于OWL本体的研究.

你知道,我试图在网上找到信息,但由于这里的条款超载,我没有发现任何有用的信息.

非常感谢,约翰

更新:我刚想到了一个很好的用例,用于我的开放世界的Class概念.也许这将更好地理解我真正想做的事情.我希望能够"描述"一个类而不是定义它.例如,我想能够说狗是a)有四条腿b)树皮的东西.然后我希望能够创建一个未指定Class的对象,并描述该对象有四条腿.此时,对象仍然是未指定的类型.然后我想说对象吠叫.此时,将知道该对象(可能除其他外)是狗.

ruby python metaprogramming class ontology

9
推荐指数
3
解决办法
520
查看次数

c ++从某个日期开始获得毫秒数

我需要在c ++中使用某种方法来跟踪自程序执行以来的毫秒数.我需要精确度以毫秒为单位.(在我的谷歌搜索中,我发现许多人说要包含time.h然后将输出乘以time()1000 ......这不起作用.)

c++ time

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

基于Unicode的编程语言

这是一种好奇心:是否存在一种编程语言,它允许使用Unicode而不是ASCII来命名变量,函数和类(当然,对于特殊字符,例如'+',除外)?任何流行的语言都支持这个吗?

另外,与此相关,如果任何公共语言支持Unicode,那么有没有办法将现有的API转换为用户自己选择的语言?似乎让程序员能够用自己的语言学习API是有帮助的.我想下载一个标准的API(例如boost),然后下载标准的翻译映射,然后能够用我的母语编程.

unicode programming-languages

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

用于Django Web开发的IDE

我正准备开始在Django开发Web内容(简单的网页,重型Web服务).我有哪些IDE选择?有什么好点和坏点?Eclipse中的Aptana是否适合这一点.我希望能够轻松地将我的更新推送到远程服务器.

ide django

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

如何在不将其放入工作空间的情况下为Simulink模型提供输入

我有一个Simulink模型,目前正在从脚本(即不是函数)运行.该脚本将变量值写入MATLAB工作空间,运行模型模拟(使用这些值),然后模型将其他值写入工作空间.如果我尝试将脚本转换为函数(即放置function [output] = runSim()在文件的顶部),那么Simulink会抱怨它不知道变量,可能是因为它们不在MATLAB工作区中,而是它们在功能范围.

是否有一种优雅的方式来提供Simulink模型的输入并从Simulink模型中获取输出而不是将它们粘贴到工作区中?

matlab simulink

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

快速椭圆体交叉算法

假设我有100万个任意形状,任意定向的N维椭圆体随机散布在N维空间中.给定一组子椭圆体,我想"快速"确定第一组椭圆体相交的所有椭球的集合.

必须有一个算法.它是什么?什么是"O"复杂性?

algorithm complexity-theory geometry computational-geometry

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

用Neo4J模拟马尔可夫链

马尔科夫链是由一组其可以以一定的概率转换到其他状态的状态的.

通过为每个状态创建一个节点,每个转换的关系,然后用适当的概率注释转换关系,可以很容易地在Neo4J中表示马尔可夫链.

但是,你能用Neo4J 模拟马尔可夫链吗?例如,可以强制Neo4J在某个状态下启动,然后根据概率转换到下一个状态和下一个状态吗?Neo4J可以打印出通过这个状态空间的路径吗?

也许通过一个简单的例子可以更容易理解.假设我想根据公司科技博客的文本制作一个2克的英语模型.我启动了一个执行以下操作的脚本:

  1. 它删除了博客的文本.
  2. 它迭代每对相邻的字母并在Neo4J中创建一个节点.
  3. 它在每个相邻字母的3元组上再次迭代,然后在由前两个字母表示的节点和由最后两个字母表示的节点之间创建Neo4J指向关系.它将此关系的计数器初始化为1.如果关系已存在,则计数器递增.
  4. 最后,它遍历每个节点,计算已发生的总传出转换的数量,然后在特定节点的每个关系上创建一个新的注释等于count/totalcount.这是转换概率.

现在Neo4J图已经完成了,如何从我的2克英语模型中创建一个"句子"?输出可能是这样的:

在没有IST LAT WHEY CRATICT FROURE BIRS GROCID REPONSTURES的REPTAGIN是CRE的REGOACTIONA.

markov-chains n-gram neo4j cypher

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

在运行时查找新的Java类

我有一个功能,我希望为客户提供我们正在准备的软件模型 - 我想知道它是否是

  1. 可能
  2. 聪明(又名不傻)
  3. 最好的东西

我希望客户能够编写一个实现我的Computable界面的java类,并将其粘贴在某个预定的文件夹中.该文件夹将包含.java文件而不是.class文件.然后,在运行时,我希望我的程序搜索该文件夹并Computables从该文件夹中提取所有文件并将它们存储在从对象名称Computable到地图的地图中Computable.在Computable应该只有一个默认的构造和它的接口将仅具有一个称为方法compute它映射的阵列ObjectObject.

java

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

如何阅读涉及模板的c ++错误

我正在学习C++.我经常会得到看起来像这样的错误

/usr/lib/gcc/i686-pc-cygwin/4.3.4/include/c++/bits/basic_string.h:1458:从'static _CharT*std :: basic_string <_CharT,_Traits,_Alloc> :: _ S_construct_aux实例化( _InIterator,_InIterator,const _Alloc&,std :: __ false_type)[with _InIterator = std :: istream_iterator,std :: allocator>,char,std :: char_traits,int>,_ Charrt = char,_Traits = std :: char_traits,_Alloc =的std ::分配器]"

我如何理解这一点,以便我至少可以找到一些地方来寻找解决方案?

如果您有兴趣,原始代码是:

#include <iostream>
#include <fstream>
#include <string>
#include <iterator>

using namespace std;

int main(int argc, char **argv) {
    string fileName = "example.txt";
    ifstream ifile(fileName.c_str());

    istream_iterator<string> begin(ifile);
    istream_iterator<string> end;

    string s(begin,end);
    cout << s;
}
Run Code Online (Sandbox Code Playgroud)

c++

8
推荐指数
2
解决办法
2179
查看次数

寻找所有节点都可读/写的分布式/可扩展数据库解决方案?不是MongoDB?

我希望实现一个可以在地理上广泛分布的数据库,这样每个节点都可以读取/写入,并最终与所有其他节点保持一致.我应该在哪里看?

我认为MongoDB在出现这种担忧之前似乎是其他原因的不错选择.显然所有MongoDB节点都是可读的,但只有主节点是可写的?反正有没有绕过这个?我不能允许单点失败写入数据库.

database distributed scalability eventual-consistency mongodb

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