标签: digraphs

VIM:用相应的重音字母替换[aeiou]'

我知道VIM支持有向图,如果可以使用:s命令,那将是完美的,但我找不到使用它的方法!

我想是这样的:

:%s/\([aeiouAEIOU]\)'/\=digraph(submatch(1)."!")/g
Run Code Online (Sandbox Code Playgroud)

会很完美,但我找不到digraph功能.提前致谢.

编辑
好了,在内置的VIM功能中进行了一些挖掘之后,我找到tr了问题的第一个解决方案:

:%s/\([aeiouAEIOU]\)'/\=tr(submatch(1), 'aeiouAEIOU', 'àèìòùÀÈÌÒÙ')/g
Run Code Online (Sandbox Code Playgroud)

但是,我仍然想知道是否有一种方法可以digraph在表达式中使用:)

vim digraphs

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

三字母是否仍然有效C++?

我们都知道的历史好奇心二合字母和三合,但随着近年来C++的所有更改我很好奇:他们是合法的C++ 14?C++ 17怎么样?

c++ digraphs trigraphs c++14 c++17

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

'嵌套'模板`>>`问题解决了.怎么样`<::`?

C++ 0x解决了模板ID中连续关闭尖括号的问题,如 vector<vector<int>>.不再需要空间> >.C++ 0x是否解决了<::类似的问题vector<::MyType>?被之间的空间<,并::仍需要?

编辑:我的意思是标准(草案)的措辞.很长一段时间以来,许多编译器都在应对这种情况

c++ token digraphs c++11

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

不应使用c ++ Digraph(MISRA C++ 2-5-1)

根据MISRA C++ 2-5-1我们通常应该避免弄乱有向图.虽然,我不明白为什么我们也应该避免使用可读的话and,or,not等确定共同的运营商&&,||...

这个问题甚至被强调为Sonar/MISRA的"主要"问题:

[Major]     Open    Replace this digraph 'and' by its equivalent '&&'
[Major]     Open    Replace this digraph 'and' by its equivalent '&&'
[Major]     Open    Replace this digraph 'or' by its equivalent '||'    
[Major]     Open    Replace this digraph 'or' by its equivalent '||'    
[Major]     Open    Replace this digraph 'or' by its equivalent '||'
Run Code Online (Sandbox Code Playgroud)

是规则还包括人类可读的双图(即来自神秘的完全不同??=,??/因特殊原因),或者规则只是普通?我没有发现使用它们的任何特殊风险或副作用,我错了吗?

加起来

这个MISRA规则是否有功能性原因 …

c++ misra digraphs

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

为什么GCC在使用三字符时会发出警告,但在使用有向图时则不会?

码:

#include <stdio.h>

int main(void)
{
  ??< puts("Hello Folks!"); ??>
}
Run Code Online (Sandbox Code Playgroud)

上述程序,当使用GCC 4.8.1编译-Wall-std=c11,给出了以下警告:

source_file.c: In function ‘main’:
source_file.c:8:5: warning: trigraph ??< converted to { [-Wtrigraphs]
     ??< puts("Hello Folks!"); ??>
 ^
source_file.c:8:30: warning: trigraph ??> converted to } [-Wtrigraphs]
Run Code Online (Sandbox Code Playgroud)

但当我改变身体时main:

<% puts("Hello Folks!"); %>
Run Code Online (Sandbox Code Playgroud)

没有警告被抛出.

那么,为什么编译器在使用三字符时会发出警告,但在使用有向图时却没有?

c gcc compiler-warnings digraphs trigraphs

6
推荐指数
2
解决办法
1368
查看次数

生成在提升下关闭的非负整数元组?

n为正整数,令Sn 个非负整数元组的集合。(例如,如果n为 3,则S可以为 {(1,2,0), (1,0,1)}。)

\n

让我们定义一个名为“promote”的操作,它接受一个n 元组的非负整数 ( t 1 , t 2 , \xe2\x80\xa6, t n ),索引i使得t i \xc2\xa0>\ xc2\xa00 和小于i的索引j,并返回相同的n元组,只不过索引j处的值已递增,索引i处的值已递减。例如,如果我们有元组 (1,2,3,4,5),i \xc2\xa0=\xc2\xa05 和j \xc2\xa0=\xc2\xa02,则“promote”将返回 ( 1,3,3,4,4)。

\n

我想计算“promote”在我的集合S上的闭包,这意味着我可以通过从S中的一个元素开始并对“promote”进行零次或多次调用(可以选择ij)来达到的所有元组的集合对于任何给定的呼叫)。例如,如果S是 {(1,2,0), (1,0,1)},那么我想计算集合 {(2,0,0), (1,1,0), (1 ,0,1),(3,0,0),(2,1,0),(1,2,0)}。(例如,我可以通过从 (1,2,0) 开始并使用i \xc2\xa0=\xc2\xa02 和j \xc2\xa0=\xc2\调用“promote”来获得 …

algorithm search functional-programming breadth-first-search digraphs

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

任意表达式中的单冒号?

我需要弄清楚这个混淆的 C++ 代码(由其他人编写)做了什么。除了一个棘手的部分,我已经想通了几乎所有的东西:

bool part1(char *flag)
{
    int *t = (int *) memfrob(flag, 8);

    unsigned int b[] = {3164519328, 2997125270};

    for (int i = 0; i < 2; b[i] = ~b[i], ++i);

    return !(0<:t:>-0<:b:>+1<:t:>-1<:b:>);
}
Run Code Online (Sandbox Code Playgroud)

这个函数的 return 语句是怎么回事?我不知道这些冒号是什么意思...

我试过用谷歌搜索 C++ 中的冒号运算符是做什么的,但只找到了关于类构造函数和条件表达式的答案,这似乎与这个问题无关。

c++ colon digraphs

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

比较字符串列表的最佳数据结构和算法是什么?

我想找到符合以下规则的最长的单词序列:

  • 每个单词最多可以使用一次
  • 所有的单词都是字符串
  • 两个字符串sasb级联,如果最后两个字符sa匹配的前两个字符sb.

在连接的情况下,通过重叠这些字符来执行.例如:

  • sa ="torino"
  • sb ="novara"
  • sa concat sb ="torinovara"

例如,我有以下输入文件"input.txt":

诺瓦拉

都灵

维切利

拉文纳

那不勒斯

liverno

messania

诺维利古雷

罗马

并且,根据上述规则输出的上述文件应为:

都灵

诺瓦拉

拉文纳

那不勒斯

利沃诺

诺维利古雷

因为最长的连接是:

torinovaravennapolivornovilligure
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?什么是最好的数据结构?

c algorithm directed-graph digraphs data-structures

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

有向图并行排序

我有这种具有多个根的有向无环图:

有向图

我需要得到一个列表,其中包含按方向排序并按步骤分组的节点,如下所示:

ordering = [
    [1, 3],
    [2],
    [4],
    [5, 6],
    [7]
]
Run Code Online (Sandbox Code Playgroud)

也许有一些现成的算法?我试过了,networkx.algorithm但他们都只能返回一个平面列表,而无需按步骤分组。

python digraphs networkx

4
推荐指数
2
解决办法
1228
查看次数

在vim中插入unicode字符

我想要一种快速简单的方法来使用我经常使用的 vim 将某些 unicode 字符插入到文本文件中,例如英镑和刻度字符,而不是键入:

\n\n
i C-v u00A3 = \xc2\xa3\ni C-v u2713 = \xe2\x9c\x93\n
Run Code Online (Sandbox Code Playgroud)\n

unicode vim digraphs

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