Tag: scala

在不改变C#顺序的情况下对scala列表进行排序等效于C#

我正在尝试使用scala中的字符串集合对列表进行排序,其结果应与C#列表结果相同。 但是对于以下数据,C#以不同的顺序返回结果,scala以不同的顺序返回结果。 任何人都可以告诉我,对于任何类型的字符串,这两种语言的结果是谁? C#代码: List list = new List(); list.Add(“bmw_sip”); list.Add(“bmw_mnt”); list.Add(“bmw1”); list.Add(“bmw”); list.Sort(); foreach (String data in list) { Console.Write(data+” “); } 输出: bmw bmw_mnt bmw_sip bmw1 斯卡拉代码: var list = List(“bmw_sip”, “bmw_mnt”, “bmw1”, “bmw”) list.sorted 输出: List[String] = List(bmw, bmw1, bmw_mnt, bmw_sip)

Akka.net开始和停止没有任何活动

我正在尝试从Scala(2.4.11)中的类型安全akka演员发送消息给C#中的Akka.net演员(1.0.4) 我的.Net演员有一个奇怪的问题,它一直说开始然后停止,但我不知道幕后发生了什么: 一块Akka.net日志: 2015-11-18 16:23:57.6168|DEBUG|Akka.Remote.Transport.ProtocolStateActor|Started (Akka.Remote.Transport.ProtocolStateActor) 2015-11-18 16:24:27.6578|DEBUG|Akka.Remote.Transport.ProtocolStateActor|Stopped 2015-11-18 16:24:42.6344|DEBUG|Akka.Remote.Transport.AkkaProtocolManager|now supervising akka://converter/system/transports/akkaprotocolmanager.tcp.0/akkaProtocol-tcp%3a%2f%2fconverter%40192.168.56.1%3a60161-107 2015-11-18 16:24:42.6344|DEBUG|Akka.Remote.Transport.ProtocolStateActor|Started (Akka.Remote.Transport.ProtocolStateActor) 2015-11-18 16:25:12.6871|DEBUG|Akka.Remote.Transport.ProtocolStateActor|Stopped 2015-11-18 16:25:27.6402|DEBUG|Akka.Remote.Transport.AkkaProtocolManager|now supervising akka://converter/system/transports/akkaprotocolmanager.tcp.0/akkaProtocol-tcp%3a%2f%2fconverter%40192.168.56.1%3a60162-108 2015-11-18 16:25:27.6402|DEBUG|Akka.Remote.Transport.ProtocolStateActor|Started (Akka.Remote.Transport.ProtocolStateActor) 它正在对发送的每条消息进行启动/停止,但是演员没有执行,我怎么能检查发生了什么?

C#是否与Scala的结构类型相当?

在Scala中,我可以定义结构类型如下: type Pressable = { def press(): Unit } 这意味着我可以定义一个函数或方法,它将一个可压缩的参数作为参数,如下所示: def foo(i: Pressable) { // etc. 我传递给这个函数的对象必须为它定义一个名为press()的方法,它匹配类型中定义的类型签名 – 不带参数,返回Unit(Scala的void版本)。 我甚至可以使用结构类型内联: def foo(i: { def press(): Unit }) { // etc. 它基本上允许程序员拥有鸭子打字的所有好处,同时仍然具有编译时类型检查的好处。 C#有类似的东西吗? 我用谷歌搜索但找不到任何东西,但我不熟悉C#的任何深度。 如果没有,有没有计划添加这个?

C#和PHP,ColdFusion,Ruby,Python之间的兼容加密

我们正在开发一种接受POST请求的服务。 一些POST数据需要在POST之前加密,因为它将存储在表单上的隐藏字段中。 该应用程序是用C#编写的,但我们希望第三方客户能够轻松地与它集成。 我们发现大多数客户使用PHP,Classic ASP或VB.Net。 第三方应该只进行加密。 我们做解密。 没有双向沟通。 什么是最兼容的加密算法,填充模式和其他选项的组合?

用于计算形成100的组合数的算法

我遇到了一个棘手的情况,我需要根据不同的因素来计算形成100的组合数。 那些是 组合数量 乘法因子 距离 样本输入1: (2-10-20) 它的意思是 列出有效的2路组合,形成100。 组合之间的距离应小于或等于20。 并且所有得到的组合必须能够被给定的乘法因子10整除 输出将是 [40,60] [50,50] [60,40] 这里[30,70],[20,60]无效,因为距离超过20。 样本输入2: [2-5-20] [40,60] [45,55] [50,50] [55,45] [60,40] 如果你引导我走向正确的方向,我将非常感激。 干杯。

LINQ有多少钱?

我正在研究LINQ,并且查询语言出现(至少在表面上)只不过是Haskell和其他FP语言中的地图和/或列表推导的实现(特别是’map’和’的概括)为’在斯卡拉)。 它是否正确? 语法是否比这更多? 从我正在阅读的这本书(“Essential LINQ”)的令人窒息的语气来看,这里似乎有一些新的或创新的东西。 有整个后端,管道,一阶表达式树和类型等来实现LINQ,但我的问题是关于查询语言本身。 干杯 乔

Scala是否与C#yield相当?

我是Scala的新手,据我所知,Scala中的收益与C#中的收益不同,它更像是选择。 Scala有类似于C#的收益吗? C#的收益很好,因为它使编写迭代器变得非常容易。 更新:这是来自C#的伪代码示例,我希望能够在Scala中实现: public class Graph { public IEnumerable BreadthFirstIterator() { List currentLevel = new List(); currentLevel.add(_root); while ( currentLevel.count > 0 ) { List nextLevel = new List(); foreach( var node in currentLevel ) { yield return node; nextLevel.addRange( node.Children ); } currentLevel = nextLevel; } } } 此代码实现了图的迭代广度优先遍历,使用yield,它返回一个迭代器,以便调用者可以使用常规for循环遍历图,例如: graph.BreadthFirstIterator().foreach( n => Console.WriteLine( […]