通过套接字将信息从java应用程序发送到C#应用程序时,字节顺序是否不同?或者我可以只将C#中的整数发送到java应用程序并将其读取为整数?
(操作系统是否重要,或者对于java/.net是否相同,无论实际操作系统如何处理它?)
我需要能够声明变量,稍后我需要引用它们.为了实现这一点,这是我的scala模板的简化版本:
@(map1:
java.util.LinkedHashMap[String,java.util.LinkedHashMap[String,Object]])
@import scala.collection.JavaConversions._
@import play.Logger
@for( (key,value) <- map1) {
<div>
@{
val rmap = Foo.someMethod(value)
val baz = rmap.getOrElse("baz", null)
<table border="0" cellpadding="0" cellspacing="0" >
<tbody>
<tr>
<td rowspan="3">
<div class="bar">
@baz
</div>
</td>
</tr>
</tbody>
</table>
}
</div>
}
Run Code Online (Sandbox Code Playgroud)
是否高于有效的scala模板,如果不是,我如何声明baz并在标记中稍后引用它?我使用的是1.2.2RC2和scala 0.9.1
我有一个长时间运行的过程forkIO'd,它产生像素颜色值:
takesAgesToRun :: [[Color]]
myForkedProcess :: IORef [[Color]] -> IO ()
myForkedProcess ref = do let colors = takesAgesToRun
writeIORef ref colors
Run Code Online (Sandbox Code Playgroud)
(其中Color只包含三个Double值).
正如预期的那样,当读取"另一侧"时IORef,存储的值只是一个thunk,因此会阻止主进程.
我知道我需要完全评估[[Color]]正常形式的值,但似乎有两种方法可以实现这一点,而且,我不确定如何将其合并到我的代码中.
我该怎么做?我是否使用rnf,deepSeq或其他一些线程策略?这些是其中一个首选,其他人是否已被弃用?它如何适合我的代码?
(PS请忽略这样一个事实,即将图像存储为颜色列表列表是愚蠢的 - 这只是代码的简化版本).
设置:
我有几个各种数据结构的集合,代表虚拟系统中模拟对象的状态.我还有许多函数可以转换(即基于原始对象和0或更多参数创建对象的新副本)这些对象.
目标是允许用户选择一些对象来应用转换(在模拟规则内),将这些函数应用于这些对象,并通过用新的对象替换旧对象来更新集合.
我希望能够通过将较小的变换组合成较大的变换来构建这种类型的函数.然后评估这个组合功能.
问题:
如何构建我的程序以使其成为可能?
我用什么样的组合来建立像这样的交易?
想法:
1和2看起来像是带着很多行李,特别是如果我想最终将一些集合移动到数据库中.(Darn IO Monad)
3似乎运作良好但开始看起来很像重新创建OOP.我也不确定在什么级别使用IORef.(例如IORef (Collection Obj)或Collection (IORef Obj)或data Obj {field::IORef(Type)} )
4感觉功能最强大,但它似乎也创造了很多代码复杂性而在表现力方面没有太大的回报.
例
我有一个网店前面.我维护了一系列产品,其中包括库存数量和价格(等等).我还有一些对商店有信用的用户.
用户出现并选择3个产品购买并使用商店信用结账.我需要创建一个新产品集合,其中有3个产品的库存量减少,创建一个新的用户集合,用户帐户借记.
这意味着我得到以下内容:
checkout :: Cart -> ProductsCol -> UserCol -> (ProductsCol, UserCol)
Run Code Online (Sandbox Code Playgroud)
但是生活变得更复杂,我需要处理税收:
checkout :: Cart -> ProductsCol -> UserCol -> TaxCol
-> (ProductsCol, UserCol, TaxCol)
Run Code Online (Sandbox Code Playgroud)
然后我需要确保将订单添加到发货队列:
checkout :: Cart
-> ProductsCol
-> UserCol
-> TaxCol
-> ShipList
-> (ProductsCol, UserCol, TaxCol, ShipList)
Run Code Online (Sandbox Code Playgroud)
等等...
我想写的是类似的东西
checkout …Run Code Online (Sandbox Code Playgroud) 我尝试调试的 Web 应用程序仅在特定的 Glassfish 服务器上出现错误,因此我想远程调试该 Web 应用程序。但是 Web 应用程序是在 Eclipse 中为 Java SE 开发的,我不知道该怎么做。
我有:
但是,我在 Eclipse 的运行菜单中没有看到“在服务器上运行”或“在服务器上调试”。如果做Debug as,我可以创建一个新的Glassfish配置,但是我不能选择服务器,所以我不能配置配置。
例如,在本例中,来自 Scala-arm 1.0:
def toTraversable[B](implicit ev: R <:< TraversableOnce[B]): Traversable[B] =
new ManagedTraversable[B,R] {
val resource = self
override protected def internalForeach[U](resource: R, g : B => U) : Unit =
ev(resource).foreach(g)
}
Run Code Online (Sandbox Code Playgroud) 你会认为这是一个容易回答的问题.
在Java中,我如何按实体的密钥过滤(不是恰好属于类型的属性Key,而是其实际密钥 - 我们称之为关系数据库域中的"主键")?
我不希望使用特定密钥获得单个实体.我实际上确实想要做一个过滤器并返回实体的子集.
我有一个简单的Java问题.考虑以下接口:
interface A {
void work();
void a();
}
interface B {
void work();
void b();
}
Run Code Online (Sandbox Code Playgroud)
所以当一个类要实现它们时,它应该是这样的:
class Impl implements A, B {
void work() {
/*some business*/
}
void a() {}
void b() {}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,在work方法中,我如何发现它,它是由类型调用A还是B?
C#中的上述类就是这样,这样可以很好地区分两个实现:
class Impl : A, B
{
void B::work() {}
void A::work() {}
void a() {}
void b() {}
}
Run Code Online (Sandbox Code Playgroud)
但是我如何在Java中实现类似C#模型的东西?!
提前致谢.
我不久前开始编程,目前我需要一种方法来生成一个数组,其中包含前一个字符之后的字符。它应该以 0 处的“A”开头,然后是“1”处的 B 等。困难的部分是使其在“Z”之后是“AA”。
我想出了什么:
public static String[] charArray(int length)
{
String[] res = new String[length];
for(int i = 0; i < length; i++)
{
String name = "";
int colNumber = i;
while(colNumber > 0)
{
char c = (char) ('A' + (colNumber % 26));
name = c + name;
colNumber = colNumber / 26;
}
res[i] = name;
}
return res;
}
Run Code Online (Sandbox Code Playgroud)
这对于字母表的前 26 个字母来说效果很好,但它会生成“... Y, Z, BA, BB, BC...”而不是“... Y, Z, AA, AB, AC...” ”
怎么了?或者有没有更有效或更简单的方法来做到这一点? …
我正在 OCaml 中进行实验,看看如何从内存映射文件读取/写入数值数组。
我想我需要使用 Bigarray 但不确定如何将 Bigarray 数组写入内存映射文件,然后读回?
我似乎在任何地方都找不到例子。我检查了Jane St. core的源代码但没有结果。