小编gcb*_*son的帖子

为什么String不是枚举?

为什么是[Char]一个实例Ord,而不是Enum

Prelude> let succ_a = "a" ++ [minBound::Char]
Prelude> "a" < succ_a
True
Prelude> succ_a < "a "
True
Prelude> succ_a < succ_a ++ [minBound::Char]
True
Run Code Online (Sandbox Code Playgroud)

我认为"a"和succ_a- 之间没有字符串- 为什么不succ "a" == succ_a呢?

haskell

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

映射 null-&gt;false 的规范方法

以下的规范表达式是什么:

NULL  -> false
false -> false
true  -> true
Run Code Online (Sandbox Code Playgroud)

我正在使用的是:

select (foo is not null and foo)
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常,但我想知道是否有一个标准约定。

sql

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

函数可以告诉它从哪个模块调用吗?

package Bar;
use Foo;

sub bar { fooit "hello from bar"; }

package Foo;

sub fooit {
   # Somehow I want this function to know it was called
   # from the "Bar" module (in this case).
}
Run Code Online (Sandbox Code Playgroud)

优选地,这将在没有显式传递包含调用模块名称的参数的情况下完成.

perl

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

Git commit diff仅在一行中显示行更新

我知道通过使用命令

git show / git diff
Run Code Online (Sandbox Code Playgroud)

我可以获得行更改,但它们将行修改打印为 + 行,然后是 - 行。我记得在某处找到了一个选项,仅在一行中显示修改,更改以红色(旧)和绿色(新)打印。

笔记:

为了澄清一点,例如,通过使用git show <commitId>我将得到的命令:

-     <property>horses</property>
+     <property>humans</property>
Run Code Online (Sandbox Code Playgroud)

减号线显示为红色,加号线显示为绿色。我想要完成的是只在一行中进行更改,但我仍然不记得前缀是如何出现的,但我相信它是这样的:

+     <property>[horses]humans<property>
Run Code Online (Sandbox Code Playgroud)

整条线显示为绿色,而马这个词显示为红色。我知道这是可以做到的,因为我过去曾用一些随机命令做过,我从一个很遗憾无法记住的页面上得到了一些命令。

git diff show

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

将索引与提交进行比较

我正在查看一个存储库,其中包含一堆文件"staged for commit"(即添加到索引但尚未提交.)我怀疑索引的状态与另一个分支匹配.在我做'重置 - 硬'或其他之前,我怎样才能确定是这样的?

git

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

一个std :: max,但是对于模板参数

我发现自己需要一个模板类,它在编译时找到两个常量值的最大值; 这样的事情:

template<enum_t e1, enum_t e2>
struct max_of { static const enum_t value = SOMEHOW_MAX(e1, e2); };
Run Code Online (Sandbox Code Playgroud)

其中enum_t是枚举类型,和max_of<x, y>::value应等于最大的xy.所以问题是:用什么代替SOMEHOW_MAX?我不能使用c ++ 14的功能,所以它不能只是std::max,因为它无法在编译时比较模板参数值.如果基数enum_t相当小,一种可能的实现方式max_of是通过模板特化,如下所示:

template<>
struct max_of<E_FIRST, E_SECOND> { static const enum_t value = E_SECOND; };
Run Code Online (Sandbox Code Playgroud)

这确实有效,但即使对于少数enum_t价值观也显然变得相当冗长.有没有办法让模板系统以编程方式获取最大值?

c++ templates

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

为什么文件句柄没有专用的类型?

哈希和标量位于不同的名称空间中.所以我可以这样做:

%foo = %bar
Run Code Online (Sandbox Code Playgroud)

不用担心弄乱价值%bar.

为什么不同的逻辑适用于文件句柄?如果我这样做:

*FOO = *BAR
Run Code Online (Sandbox Code Playgroud)

我不仅使得<FOO>做同样的事情<BAR>,我已经改变$FOO,@FOO%FOO也.

是这样的,只是因为Perl是第一次写的,它是根深蒂固的?因为还没有剩下的非字母数字前缀字符?或者是有它的理由这样的工作方式?

perl

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

.NET Float Precision似乎是9位数?

我正在将一个应用程序从.NET移植到Mono Runtime,并且在代码中的某一点我可以看到浮点数具有该值158136.422.我对浮动的理解是它是7位精度,那么这个数字怎么可以接受?正如我所料,Mono将其修剪为7位数.

如果在C#我这样做

float f = 158136.422f;
Run Code Online (Sandbox Code Playgroud)

它变为158136.4.

c# precision

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

当类名只是一个整数时,你如何编写CSS选择器?

让我说我有

<span class="1">hello</span>
Run Code Online (Sandbox Code Playgroud)

我要声明:

span.1 { /* rules */ }
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用(即CSS规则没有被应用.)有没有办法让它工作?我试着在CSS选择器中引用"1",但似乎不是这样.

css css-selectors

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

有没有“临时功能”之类的东西?

有临时视图和临时表 - 有“临时功能”吗?我有一个函数,我想在事务期间使用,然后丢弃(类似于临时表的用例。)此外,我希望两个并发事务能够使用相同的名称创建相同的函数,而无需锁争用。

postgresql function

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

标签 统计

git ×2

perl ×2

c# ×1

c++ ×1

css ×1

css-selectors ×1

diff ×1

function ×1

haskell ×1

postgresql ×1

precision ×1

show ×1

sql ×1

templates ×1