小编Lau*_*ves的帖子

什么是glVertexAttrib(与glVertexAttribPointer相比)?

据我所知,glVertexAttribPointer它将根据指向数组设置顶点属性的值.什么是glVertexAttrib对,但?看起来它只是为顶点属性设置了一个(可能是矢量)值,那么当你有多个顶点时会发生什么?所有顶点最终都会看到属性的相同值吗?

opengl-es opengl-es-2.0

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

为什么`git push --force-with-lease` 失败并显示“rejected ... stale info”,即使我的本地仓库是最新的远程仓库?

我正在尝试将功能分支的变基强制推送到远程存储库。为了更安全一点,我试图--force-with-lease确保自上次获取分支以来没有发生其他更改。

由于我不明白的原因,这失败了:

$ git branch
* my-branch
  master

$ git push --force-with-lease origin my-branch -u
To gitlab.com:example/my-project.git
 ! [rejected]        my-branch -> my-branch (stale info)
error: failed to push some refs to 'git@gitlab.com:example/my-project.git'
Run Code Online (Sandbox Code Playgroud)

我尝试 fetch 以查看我的本地缓存是否以某种方式不同步:

$ git fetch

$ git push --force-with-lease origin my-branch -u
To gitlab.com:example/my-project.git
 ! [rejected]        my-branch -> my-branch (stale info)
error: failed to push some refs to 'git@gitlab.com:example/my-project.git'
Run Code Online (Sandbox Code Playgroud)

我尝试稍微简化 push 命令:

$ git push --force-with-lease
To gitlab.com:example/my-project.git
 ! [rejected]        my-branch -> my-branch (stale info) …
Run Code Online (Sandbox Code Playgroud)

git git-push

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

有没有办法对异步方法进行单元测试?

我在.NET平台上使用Xunit和NMock.我正在测试一个方法是异步的表示模型.该方法创建一个异步任务并执行它,以便该方法立即返回,我需要检查的状态尚未准备好.

我可以在完成时设置一个标志而不修改SUT但这意味着我必须继续检查while循环中的标志,例如,可能超时.

我有什么选择?

.net unit-testing xunit.net nmock

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

这个ghci会话中的类型是怎么回事?

我正在学习Haskell,当我遇到一些非常令人费解的事情时,我正在玩ghci.

首先,创建一个简单的添加功能:

Prelude> let add x y = x + y
Run Code Online (Sandbox Code Playgroud)

请注意,它适用于整数和浮点数:

Prelude> add 3 4
7
Prelude> add 2.5 1.3
3.8
Run Code Online (Sandbox Code Playgroud)

现在创建一个apply函数.它与$(但不是中缀)相同.它的工作方式类似于无操作:

Prelude> let apply f x = f x
Prelude> apply add 3 4
7
Prelude> apply add 2.5 1.3
3.8
Run Code Online (Sandbox Code Playgroud)

好的,现在制作add'哪个与add'使用相同apply:

Prelude> let add' = apply add
Prelude> add' 3 4
7
Prelude> add' 2.5 1.3

<interactive>:1:9:
    No instance for (Fractional Integer)
      arising from the literal `1.3' at <interactive>:1:9-11 …
Run Code Online (Sandbox Code Playgroud)

haskell ghci

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

在Kotlin中可以赋予`@ Suppress`的可能值是什么?

Kotlin编译器给了我以下警告:

警告:(399,1)Kotlin:内联'......'的预期性能影响可能微不足道.内联最适用于具有lambda参数的函数

在这种情况下,我想压制这个警告.@Suppress但是,我不知道给予什么价值,我找不到任何值@Suppress接受的文档.

可以赋予哪些可能的值,@Suppress它们是什么意思?

kotlin

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

Haskell有返回类型重载吗?

基于我读过的关于Haskell的内容,以及我用GHC做过的实验,似乎Haskell有返回类型重载(又称ad hoc多态).这方面的一个例子是fromInteger可以给你一个Double或一个Integer取决于结果使用位置的函数.例如:

fd :: Double -> String
fd x = "Double"

fi :: Integer -> String
fi x = "Integer"

fd (fromInteger 5)  -- returns "Double"
fi (fromInteger 5)  -- returns "Integer"
Run Code Online (Sandbox Code Playgroud)

Haskell的一个温和的介绍似乎同意这一点,当它说:

到目前为止我们讨论过的那种多态性通常被称为参数多态.另一种称为ad hoc多态,更好地称为重载.以下是ad hoc多态的一些示例:

  • 文字1,2等通常用于表示固定和任意精度整数.

如果数字文字被认为是ad hoc多态(也就是重载)的一个例子,那么似乎对于函数的结果也是如此fromInteger.

事实上,我已经找到了一些关于Stack Overflow的其他问题的答案,这些问题表明Haskell通过返回类型进行了重载.

但是,至少有一个Haskell程序员告诉我这不是返回类型重载,而是"参数多态,其中参数受通用量词约束"的示例.

认为他所得到的是fromInteger从每个实例Num(某种非确定性类型)返回一个值.

这似乎是一个合理的解释,但据我所知,Haskell从不让我们看到这些实例值中的多个(部分归功于Monomorphism限制).我们看来的实际情况似乎也可以静态确定.由于所有这一切,似乎有理由说在表达式fd (fromInteger 5)中子表达式fromInteger 5是类型Double,而在表达式fi (fromInteger 5)中子表达式fromInteger 5 …

polymorphism haskell

18
推荐指数
4
解决办法
2568
查看次数

如何在没有额外间接的情况下在Clojure中创建循环(和不可变)数据结构?

我需要在Clojure中表示有向图.我想将图中的每个节点表示为一个对象(可能是一个记录),其中包含一个名为" :edges可以从当前节点直接访问的节点集合"的字段.希望不言而喻,但我希望这些图表是不可改变的.

只要我进行拓扑排序并"从叶子上"构建每个图形,我就可以用这种方法构造有向无环图.

但是,这种方法不适用于循环图.我能想到的一个解决方法是为整个图形设置一个单独的集合(可能是地图或矢量).然后:edges,每个节点中的字段将具有键(或索引)到图的边集合中.添加这种额外的间接级别是有效的,因为我可以在他们(将)引用的东西之前创建密钥(或索引),但它感觉就像一个kludge.每当我想要访问一个相邻节点时,我不仅需要进行额外的查找,而且还必须传递全局边缘集合,这感觉非常笨拙.

我听说有些Lisps有办法创建循环列表而不需要使用变异函数.有没有办法在Clojure中创建不可变的循环数据结构?

directed-graph clojure immutability

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

如何将一个项目添加到GTK的"最近使用的"文件列表中?

我正在尝试在Ubuntu上添加Python 3中的"最近使用的"文件列表.

我能够成功读取最近使用的文件列表,如下所示:

from gi.repository import Gtk
recent_mgr = Gtk.RecentManager.get_default()
for item in recent_mgr.get_items():
    print(item.get_uri())
Run Code Online (Sandbox Code Playgroud)

这会打印出我在Nautilus中查看"Recent"时看到的相同文件列表,或者查看GIMP等应用程序文件对话框中的"最近使用"位置.

但是,当我尝试添加这样的项目时(/home/laurence/foo/bar.txt现在的文本文件在哪里)...

recent_mgr.add_item('file:///home/laurence/foo/bar.txt')
Run Code Online (Sandbox Code Playgroud)

...文件未显示在Nautilus的最近部分或文件对话框中.它甚至没有显示在返回的结果中get_items().

如何从Python中将文件添加到GTK最近使用的文件列表中?

python gtk pygtk gtk3

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

如何在ant中的javac任务中排除源?

我的build.xml中有以下内容:

<target name="compile.baz" depends="init">
   <javac destdir="${build.dir}/classes" debug="on">
      <compilerarg value="-Xlint:deprecation"/>
      <src>
         <pathelement location="${src.dir}/com/foo/bar/baz/" />
         <pathelement location="${src.dir}/com/foo/bar/quux/" />
         <!-- Need to exclude ${src.dir}/com/foo/bar/quux/dontwant/ -->
      </src>
      <classpath refid="classpath.jars" />
   </javac>
   ...
</target>
Run Code Online (Sandbox Code Playgroud)

这主要是我想要做什么,但(作为注释说)我想要的文件中
${src.dir}/com/foo/bar/quux/dontwant/通过该任务编译(但我想一切${src.dir}/com/foo/bar/quux/此任务中进行编译).

我是一个完整的蚂蚁n00b,文档对我没什么帮助.我看到有几个地方,它说有各种排除/排除元素/属性,但我能想到的每一个变化都没有效果或导致错误,如" blah不支持'exclude'属性".

java ant javac

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

术语"monad"是否适用于Maybe或List等类型的值,或者它是否仅适用于类型本身?

我注意到"monad"这个词似乎以一种不一致的方式使用.我开始相信这是因为很多(如果不是大多数)monad教程是由那些刚刚开始自己​​构建monad的人写的(例如:核废料太空服卷饼),因此术语结束得到一些过载/损坏.

特别是,我想知道术语"monad"是否可以应用于Maybe,List或IO等类型的单个值,或者术语"monad"是否真的只应用于类型本身.

这是一个微妙的区别,所以也许类比可能会更清楚.在数学中,我们有,环,字段,组等.这些术语适用于整个值集以及可以对它们执行的操作,而不是单个元素.例如,整数(以及加法,否定和乘法的运算)形成一个环.你可以说"整数是一个戒指",但你永远不会说"5是一个戒指".

所以,你能说" Just 5是一个单子",还是会说"5是一个戒指"?我不知道类别理论,但我的印象是说" Maybe是一个单子"而不是" Just 5是一个单子" 真的是有道理的.

monads terminology

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