小编Mar*_*lez的帖子

如何使用GVPR将具有多个图形的DOT文件拆分为多个DOT文件?

如何使用DOT语言将具有多个图形的文件拆分为多个DOT文件gvpr

输入(1个文件):

# single.dot
digraph one {
  a -> b;
}
digraph two {
  c -> d;
}
Run Code Online (Sandbox Code Playgroud)

输出(每个文件1个图表):

# one.dot
digraph one {
  a -> b;
}

# two.dot
digraph two {
  c -> d;
}
Run Code Online (Sandbox Code Playgroud)

graph graphviz

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

如何合并图中的节点?

我想合并在我的应用程序中语义相同的节点。有没有我可以用来处理图形的工具或算法?

输入示例:节点ab应该合并。

digraph g {                                                                     
  a -> {b;c;d;e};                                                               
  b -> {a;c;d;e};                                                               
}
Run Code Online (Sandbox Code Playgroud)

图的图像使用dot

节点a和b应该合并

输出示例:节点ab已合并到节点ab中

digraph g {                                                                     
  ab -> {c;d;e};                                                                
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

草图算法:

# XE = a set of nodes, represent a directed edge (x,_)
# YE = a set of nodes, representing a directed edge (y,_)
# XE \ y = XE except y
# YE \ x = YE except x

For each pair of …
Run Code Online (Sandbox Code Playgroud)

graph graphviz graph-algorithm

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

PostgreSQL:频率表扩展

有谁知道如何在PostgreSQL中扩展频率表?

例如,转换表x:

data   | frequency
-------+-----------
string |         4
Run Code Online (Sandbox Code Playgroud)

data   | index 
-------+-------
string |     1
string |     2
string |     3
string |     4
Run Code Online (Sandbox Code Playgroud)

设置代码:

CREATE TABLE x (
  data TEXT,
  frequency INTEGER
);
INSERT INTO x VALUES ('string',4);
Run Code Online (Sandbox Code Playgroud)

sql postgresql generate-series

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

如何检测片段的编程语言?

我有一个包含一些文本的字符串。文本可能是也可能不是代码。使用 Github 的语言学家,只有当我给它一个候选列表时,我才能检测到可能的编程语言。

# test_linguist_1.rb
#!/usr/bin/env ruby

require 'linguist'

s = "int main(){}"
candidates = [Linguist::Language["Python"], Linguist::Language["C"], Linguist::Language["Ruby"]]
b = Linguist::Blob.new('', s)
langs = Linguist::Classifier.call(b, candidates)
puts langs.inspect
Run Code Online (Sandbox Code Playgroud)

执行:

$ ./test_linguist_1.rb 
[#<Linguist::Language name=C>, #<Linguist::Language name=Python>, #<Linguist::Language name=Ruby>]
Run Code Online (Sandbox Code Playgroud)

请注意,我给了它一份候选人名单。 如何避免必须定义候选人列表?

我尝试了以下方法:

# test_linguist_2.rb
#!/usr/bin/env ruby

require 'linguist'

s = "int main(){}"
candidates = Linguist::Language.all
# I also tried only Popular
# candidates = Linguist.Language.popular
b = Linguist::Blob.new('', s)
langs = Linguist::Classifier.call(b, candidates)
puts langs.inspect    
Run Code Online (Sandbox Code Playgroud)

执行:

$ ./test_linguist_2.rb 
/home/marvelez/.rvm/gems/ruby-2.2.1/gems/github-linguist-4.8.9/lib/linguist/classifier.rb:131:in `token_probability': undefined method …
Run Code Online (Sandbox Code Playgroud)

ruby github-linguist

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