最近我偶然发现了一个奇怪的(对我而言)编译器错误消息.请考虑以下代码:
trait Foo {
type Res <: Foo
type Bar[X <: Res]
}
class MyFoo extends Foo {
override type Res = MyFoo
override type Bar[X <: Res] = List[X]
}
type FOO[F <: Foo, R <: Foo, B[_ <: R]] = F { type Res = R;
type Bar[X <: R] = B[X] }
def process[F <: Foo, R <: Foo, B[_ <: R]](f: FOO[F, R, B]) {}
Run Code Online (Sandbox Code Playgroud)
现在,如果我想调用process方法,我必须显式写入类型参数:
process[MyFoo, MyFoo, List](new MyFoo) // fine
Run Code Online (Sandbox Code Playgroud)
如果我写:
process(new …Run Code Online (Sandbox Code Playgroud) 我一直试图调整当我按Ctrl + Shift + I而不是变量时出现的黄色框,但每次调整大小时,它再次达到其实际大小.我知道可以调整大小并保持这个大小,但不记得如何.你们能提醒我吗?
谢谢.
嘿SO Guru,我对这段代码有一点工作
public void kill(double GrowthRate, int Death)
{
int before = population.size();
for (PopulationMember p : population)
{
int[] probs = ProbablityArrayDeath(GrowthRate,Death,(int)p.fitness());
if (probs[RandomNumberGen.nextRandomInt(0, 99)]==0)
{
population.remove(p);
}
}
System.out.println("Intial Population: "+before+", Deaths:"+(before- population.size())+", New Population: "+population.size());
}
Run Code Online (Sandbox Code Playgroud)
当我第一次尝试运行代码时运行我的程序时,它会遇到此错误
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
at Genetics.Population.kill(Population.java:181)
at Genetics.Population.run(Population.java:47)
at Control.Main.main(Main.java:35)
Run Code Online (Sandbox Code Playgroud)
稍微晃了一下这似乎是一个错误,通常会发生在线程为什么他们尝试同时访问相同的资源,但这就是让我在这个系统中完全没有多线程的原因.
有人可以解释为什么会这样,或者想到一个黑客来解决它
非常感谢^ _ ^
是o组合物操作者(例如val x = foo o bar,其中foo和bar是两个功能),仅在单参数的函数和/或功能可用与参数相等数量?如果没有,是什么,比如说,组成语法foo(x,y)用bar(x).
我的问题很简单但令人费解.可能有一个简单的开关可以解决这个问题,但我对Java正则表达不太熟悉......
String line = "";
line.replaceAll("(?i)(.)\\1{2,}", "$1");
Run Code Online (Sandbox Code Playgroud)
这崩溃了.如果我取下(?i)开关,它就可以了.三个unicode字符不是随机的,它们是在韩文大文中发现的,但我不知道它们是否有效.
奇怪的是,正则表达式适用于所有其他文本,但这一点.为什么我会收到错误?
这是我得到的例外
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 6
at java.lang.String.charAt(String.java:658)
at java.lang.Character.codePointAt(Character.java:4668)
at java.util.regex.Pattern$CIBackRef.match(Pattern.java:4846)
at java.util.regex.Pattern$Curly.match(Pattern.java:4125)
at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
at java.util.regex.Pattern$CharProperty.match(Pattern.java:3694)
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
at java.util.regex.Pattern$Start.match(Pattern.java:3408)
at java.util.regex.Matcher.search(Matcher.java:1199)
at java.util.regex.Matcher.find(Matcher.java:592)
at java.util.regex.Matcher.replaceAll(Matcher.java:902)
at java.lang.String.replaceAll(String.java:2162)
at tokenizer.Test.main(Test.java:51)
Run Code Online (Sandbox Code Playgroud) 我使用Eclipse,所以对我来说,使用//$FALL-THROUGH$注释是switch语句等的常见做法.但我的同事使用Netbeans并质疑我在做什么.并试图谷歌任何带有符号的东西就像试图用一对冷冻手套和没有工具拉牙......
是使用//$FALL-THROUGH$评论,美元符号和所有,标准的Java事物,还是某种Eclipse魔术?如果我在Netbeans或其他IDE中加载相同的代码,或者通过独立的java编译器运行它,那么通过switch语句仍然会被标记为警告,即使是否有所述评论?有没有一种标准的方法可以做到这一点,除了使用@SupressWarning注释(这将简单地混乱代码给你如何使用它)?
我设置了舵柄和舵柄。我有分蘖部署。昨天,我可以正常跑步了。但是今天我收到此错误消息
Error: could not find a ready tiller pod
Run Code Online (Sandbox Code Playgroud)
我该如何解决。我通过命令尝试的一些信息。
它无法获取服务器信息。
$ helm version
Client: &version.Version{SemVer:"v2.14.1",
GitCommit:"5270352a09c7e8b6e8c9593002a73535276507c0", GitTreeState:"clean"}
Error: could not find a ready tiller pod
Run Code Online (Sandbox Code Playgroud)
我有一个正在运行的分蘖部署 675656bbcf-5q5gp。
$ kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
tiller-deploy-675656bbcf-5q5gp 1/1 Running 0 46h
tunnelfront-557bbd9fb5-b8g7h 1/1 Running 0 47h
Run Code Online (Sandbox Code Playgroud)
检查部署的东西。
$ kubectl get deploy -n kube-system
NAME READY UP-TO-DATE AVAILABLE AGE
tiller-deploy 0/1 1 0 46h
tunnelfront 0/1 1 0 47h
Run Code Online (Sandbox Code Playgroud)
描述分蘖部署信息,但尚未准备好。
$ kubectl describe pod tiller-deploy -n kube-system
Name: …Run Code Online (Sandbox Code Playgroud) 在观看Bret Victor的演讲视频后,我受到启发,写了一个与他在演讲中展示的开发环境有些类似的快速黑客.
基本上这个想法是,一个人在一个窗口中运行app,每当一个人在源文件中保存更改时程序就会改变.
这适用于小的更改,除了我不能在不关闭应用程序和重新编译的情况下更改代码中的状态类型.
如何解决表达式问题并使我的状态的数据类型能够更改而不会导致重新编译?
PS这是代码.我原本不想发帖,因为它真的很乱,而且很快被黑客攻击,但是人们想要它,所以他们可以得到它.
首先是显示器和空闲模块,(这是一个快速的黑客,所以我没有弄清楚如何将它们作为真正的模块).
Idle.hs
\state -> do
counter <- readIORef state
writeIORef state ((counter + 1)`mod`3)
postRedisplay Nothing
Run Code Online (Sandbox Code Playgroud)
Display.hs
\state -> let
cube w = do
renderPrimitive Quads $ do
vertex $ Vertex3 w w w
vertex $ Vertex3 w w (-w)
vertex $ Vertex3 w (-w) (-w)
vertex $ Vertex3 w (-w) w
vertex $ Vertex3 w w w
vertex $ Vertex3 w w (-w)
vertex $ Vertex3 (-w) w (-w) …Run Code Online (Sandbox Code Playgroud) 我正在尝试进行LDAP查询,以获取所有组/成员的列表.我无法弄清楚我该怎么做.我所有的尝试都是不成功的.
我的"AD树":mydomain.local/Mybusiness/Distribution Groups /这里是我的组
我尝试过这样的事情:
(objectCategory=user)
(memberOf=CN=Distribution Groups,OU=Mybusiness,DC=mydomain.local,DC=com)
Run Code Online (Sandbox Code Playgroud)
我很感激,如果有人可以帮我写一个ldap查询,它会给我的组和这些组的成员提供一个列表.
谢谢.
我仍然是Scala开发中的菜鸟,但我发现Option [T]概念非常棒,特别是与Some和None一起使用时的模式匹配.我甚至在一个C#项目中实现它,我现在正在努力,但由于没有模式匹配,所以并不是真的那么棒.
真正的问题是,这个对象背后的理论在哪里?这是Scala特有的东西吗?功能语言?哪里可以找到更多相关信息?