小编Nee*_*asu的帖子

dojox.enhancedGrid获取选定行

如何获取dojox.enhancedGrid的Selected Row对象?我正在使用selectionMode:'single',例如使用Radio Buttons.

dijit.byId("gridViewWidget").selection.selectedIndex 返回rowIndex.但是如何获取该索引的rowObject?我可以得到rowNode()但我需要的是该行的id列的值.

它可能会拖累返回的HTML DOM rowNode()但是有没有直接的方式?

我目前正在使用dijit.byId("gridViewWidget").store._dataArray[i]并传递返回的索引.虽然这有效但似乎_dataArray是一个私人财产.所以使用安全吗?

dojo dojox.grid dojox.grid.datagrid

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

使用序列图绘制调用流程会导致模糊

我想画一个序列图在哪里

A -> B.run()
B.run() -> B.m1()
B.m1() -> B.m2()
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经想出了这些.

http://i51.tinypic.com/eja5bl.jpg http://i52.tinypic.com/1449s3.jpg

但是在这里我不能清楚地提到B.m2()由B.m1()调用而不是它看起来像B.run()串行调用B.m1()和B.m2().

-------------编辑----------------

这就是我目前绘制的内容http://i55.tinypic.com/21276kk.jpg

http://i55.tinypic.com/21276kk.jpg 我现在的图表好吗?我想要的是这个.(呼叫流程)

SpiritAdapter -> SpiritEngine::run(spirit:string, method:string, args[])
SpiritEngine::run(spirit:string, method:string, args[]) -> SpiritEngine::executeLogic(spirit:string, method:string, args[])
SpiritEngine::executeLogic(spirit:string, method:string, args[]) -> SpiritEngine::spirit(spirit:string, method:string, args[])
SpiritEngine::spirit(spirit:string, method:string, args[]) -> new SpiritAbstractor
SpiritEngine::executeLogic(spirit:string, method:string, args[]) -> SpiritAbstractor::method(args)
SpiritEngine::run(spirit:string, method:string, args[]) -> SpiritEngine::storeXDO()
Run Code Online (Sandbox Code Playgroud)

uml sequence-diagram

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

PHP类似于提供嵌入式HTML的语言

有哪些其他语言能够处理嵌入式HTML /非处理文本,如PHP <?php /*PHP CODE*/ ?> NON-PHP CODE 本地

我真正想要的是保持硬编码的逻辑部分可能在C++中然后我将暴露构造,就像表示层使用它的少量变量.并将演示文稿部分放在某些脚本语言上,我可以在其中嵌入标记语言.因为表示层应该快速变化,所以不会有编译开销.

html php

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

const_reference_type没有编译但是const value_type和编译

#include <iostream>

template <typename T>
struct ref_exp{
    typedef T value_type;
    typedef value_type& reference_type;
    typedef const reference_type const_reference_type;

    ref_exp(value_type data): _data(data){}
    const_reference_type data() const {return _data;}
  private:
    value_type _data;
};

int main(){
    ref_exp<int> exp1(2);
    std::cout << exp1.data() << std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

上面的代码没有编译

ref.cpp: In member function ‘T& ref_exp<T>::data() const [with T = int]’:
ref.cpp:17:   instantiated from here
ref.cpp:10: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const int’
Run Code Online (Sandbox Code Playgroud)

但是如果我更换const_reference_type data() constconst value_type& data() …

c++ gcc const

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

Boost Graph 通过 vertex_descriptor 访问属性

我有我的自定义顶点和边属性

namespace boost { 
    enum vertex_diagonal_t{vertex_diagonal = 999};
    BOOST_INSTALL_PROPERTY(vertex, diagonal);
}
namespace boost { 
    enum edge_dominance_t{edge_dominance = 998};
    BOOST_INSTALL_PROPERTY(edge, dominance);
}
Run Code Online (Sandbox Code Playgroud)

我创建我的邻接列表 boost::property

typedef boost::adjacency_list<
      boost::listS, 
      boost::vecS,
      boost::bidirectionalS,
      boost::property<boost::vertex_diagonal_t, const khut::diagonal*>,
      boost::property<boost::edge_dominance_t,  float>
    > diagonal_dominance_graph;
typedef boost::property_map<diagonal_dominance_graph, boost::vertex_diagonal_t>::type diagonal_map_type;
typedef boost::property_map<diagonal_dominance_graph, boost::edge_dominance_t>::type  dominance_map_type;
Run Code Online (Sandbox Code Playgroud)

现在我想遍历我自己的容器并添加顶点

diagonal_dominance_graph graph;
  for(storage_type::const_iterator i = repo_begining.begin(); i != repo_begining.end(); ++i){
    diagonal_dominance_graph::vertex_descriptor dia_vertex = boost::add_vertex(graph);

    //>> ?? HOW CAN I write Properties to dia_vertex HERE ?

    //boost::property<boost::vertex_diagonal_t, const khut::diagonal*> p;
    //boost::put(p, dia_vertex);

  }
Run Code Online (Sandbox Code Playgroud)

我没有得到的是如何通过vertex_descriptor. 可能是我缺少一个简单的功能。 …

c++ boost graph boost-graph

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

ArangoDB 为双向边缘的每个有向边缘创建计数器边缘

我对图数据库非常陌生。我从阿兰戈开始。对于这个项目,我不确定将来会遇到的疑问。我不想制造瓶颈。所以我想在任何地方创建无向或双向边缘。

然而,由于仅支持有向边,我目前的理解是,如果某个顶点无法通过 a 到达,directed traversal那么我稍后会遇到瓶颈。因此,每当我创建边缘时,a -> b我也会b -> a在同一个边缘集合中创建。

我的假设正确吗?设计决策是否可以接受?

directed-graph graph-databases arangodb

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

PHP session_start序列化并阻止共享同一会话的所有其他人

会话必须同步.当A写入/保存到session Banother A放在等待.哪个是基于文件的会话处理必须的.

但是一旦A加载了会话(但现在保存了它的修改)B,也应该允许加载相同的会话.因为加载会打开文件并将文件内容带入内存并关闭.

是否有任何理由在整个A加载会话期间阻止所有其他脚本并A保存会话.不能只使用保存处理程序进行同步?

因此,两个PHP脚本永远不能同时工作如果它们共享同一个会话.

例如 seslock.php

<?php
header('Content-Type: text/plain');
session_start();
if(isset($_GET['wait'])){
    sleep(30);
    echo "waiting\n";   
}else{
    echo "No Waiting\n";
}
?>
done
Run Code Online (Sandbox Code Playgroud)

访问seslock.php将立即响应,但seslock.php?wait 需要30秒才能回复.但问题是如果你seslock.php?wait先请求而且只是seslock.php第二次.该non-sleep块将要求您等待30秒.

为什么它阻止不是我的问题.我在问为什么会阻止start to save?而不是阻止only save

php concurrency session locking

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

nc -u 192.168.1.255 9999失败

我正在尝试广播到192.168.1.255哪个是我的广播地址.ifconfig

eth0      Link encap:Ethernet  HWaddr 50:e5:49:51:0b:cb  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::52e5:49ff:fe51:bcb/64 Scope:Link
Run Code Online (Sandbox Code Playgroud)

但如果我这样做nc -uv 192.168.1.255 9999报告

nc:连接到192.168.1.255端口9999(udp)失败:权限被拒绝

nc -uv 192.168.0.255 9999工作正常

linux udp network-programming broadcast netcat

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

为什么从我的伪终端读取失败?

我已经(/dev/pts/N)从进程A 创建了一个伪终端,并且我在一定的时间间隔内写了随机整数.我可以打开那个pts screen并检查它的输出.
但是cat /dev/pts/N 失败了:它无限地阻止而不会返回.

我试图从另一个使用open()/read()函数的进程中读取它,并且read()永远不会返回.

int main(){
  int source_fd = open("/dev/pts/4", O_RDONLY);

  while(1){
      char buffer[READ_BUFFER_SIZE] = {0};
      char* buff_ptr = buffer;
      int r = read(source_fd, (void*)buff_ptr, 1);
      // !!!! never comes here
      while(r > 0){
        ++buff_ptr;
        r = read(source_fd, (void*)buff_ptr, 1);
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

c linux pty

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

preg_replace Double Spaces到一行开头的tab(\ t)

只是一个简单的快速问题.我想用Tabs替换该行的begenning中的Double Spaces.目前我正在尝试, preg_replace('~^( {2})~', "\t", $text)但只替换第一次出现的Double Space.

- 编辑 -

preg_replace('~PATTERN~', "REPLACEMENT", "      HalloWorld")
//Should be equal to "\t\t\tHallo World"
Run Code Online (Sandbox Code Playgroud)

php regex preg-replace

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