import Data.List - 我明白了.
但声明中的qualified含义是什么import qualified Data.List?
最近我读了以下SO问题:
在Scala中使用访问者模式是否有任何用例?每次我在Java中使用访问者模式时,我是否应该在Scala中使用模式匹配?
带标题问题的链接: Scala中的访客模式.接受的答案始于
是的,您应该从模式匹配开始,而不是访问者模式.请参阅 http://www.artima.com/scalazine/articles/pattern_matching.html
我的问题(受上面提到的问题的启发)是哪个GOF设计模式在Scala中有完全不同的实现?如果我在Scala中编程,我应该在哪里注意并且不要遵循设计模式(Gang of Four)的基于Java的编程模型?
创作模式
结构模式
行为模式
我已经安装了在Haskell中编写的Xmonad 0.10-3轻量级X11窗口管理器以及我的Ubuntu 12.04 LTS系统上的库和文档.
我期望一些界面/菜单运行这个应用程序但没有看到.我也找不到相关文档.
请指导如何开始使用Xmonad?
我目前正在阅读http://hackage.haskell.org/packages/archive/containers/latest/doc/html/Data-Set.html#t:Set
下面的细节传达了什么(对绝对的haskell初学者)?
便携性:便携式(其他哪些是便携性值?)
稳定性:临时性(其他哪些是稳定性值?)
维护者:libraries@haskell.org
安全Haskell:安全(有什么东西不安全吗?)
我正在通过学习你是一个很好的Haskell,我已达到第8.4节"衍生实例".在本节中,有以下数据类型声明:
data Person = Person { firstName :: String
, lastName :: String
, age :: Int
} deriving (Eq)
Run Code Online (Sandbox Code Playgroud)
一边试试
*Main> mikeD == Person {firstName = "Michael", lastname = "Diamond", age = 43}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
<interactive>:55:41:
`lastname' is not a (visible) field of constructor `Person'
Run Code Online (Sandbox Code Playgroud)
通过纠正lastname到lastName我删除了错误.
题:
在错误消息中,该词(visible)暗示我必须有可能将字段声明为隐藏/不可见.这是否正确?如果是,我如何将构造函数中的字段声明为隐藏,以及需要声明隐藏字段的一般情况是什么?如果您可以通过给出一个简单的使用示例来解释这一点,那将是值得赞赏的.
注意:我找不到有关LYAH中隐藏或隐藏字段的任何参考/详细信息.
haskell中的变量名称需要小写,但是
如果我们想存储g = 9.8和G = 6.67300×10-11(在下面的场景中),如何在.hs文件中声明变量?
传统物理学家提到:
(1)地球上的重力加速度
g = 9.8米/秒^ 2
(2)万有引力常数
G = 6.67300×10-11 m3 kg-1 s-2
[类似的冠冕堂皇的问题上SO当前活动" 是否有一个可视化建模语言或风格的函数式编程范式? "这是不同的,那么这个问题,因为另一只专注于函数式编程范式,我的问题是寻找一个建模工具支持面向对象范式(它独立地拥有许多成熟的可视化建模UML工具)和功能编程范例的组合.
是否有可视化建模工具/语言或样式支持Scala配置文件(提供并包含所有Scala语言工件),或者可以说它支持面向对象编程范例和函数式编程范例.
对于企业级Scala项目,使用什么建模工具 - 业务分析师为逻辑(概念)视图和开发视图准备Visual Models或任何其他类型的模型?
在软件开发的某些圈子中,正式建模是一项要求,无论您认为这是多么官僚.在项目结束时,不同团队有几个层次的参与,许多相关人员对代码一无所知.他们不需要,如果被问到他们,这将是一个很大的麻烦.正式建模可以确保他们能够更好地了解事物的运作方式,以便他们能够在开发过程中发挥作用.(本段摘自:https://stackoverflow.com/users/166802/codnik)
我有一个TreeSet字符串(硬编码).想要检查给定的参数String例如."Person"如果存在于TreeSet中则返回true否则返回false.
在这里我对关于(Predicate<? super String> s)vs 的Eclipse消息感到困惑
(String s):
类型Stream中的方法anyMatch(Predicate)不适用于参数(String)
请指导.
import java.util.Set;
import java.util.TreeSet;
import java.util.function.Predicate;
public class SystemLabelValidator {
public static boolean ValidateSystemLabel( String s) {
String j = s;
boolean b = false;
Set <String> SystemLabels = new TreeSet<String>();
// Unique Strings
SystemLabels.add("Person");
SystemLabels.add("Player");
SystemLabels.add("Hospital");
SystemLabels.add("Nurse");
SystemLabels.add("Room");
System.out.println("\n==> Loop here.");
for (String temp : SystemLabels) {
System.out.println(temp);
if(SystemLabels.stream().anyMatch(j)) {
System.out.println("I need to return Boolean");
}
return b;
}
return …Run Code Online (Sandbox Code Playgroud) 有可能出现一些键入(在Ubuntu终端 - scala -version Scala代码运行版本2.9.1中)错误,示例如下所示,而不是(l:Int)(l:int)已在参数中键入.
scala> class Rectangle (l:int, w: Int){
| val length = l
| val length = w
.
.
.
few more lines but still ... module Rectangle is not defined. Or sometimes enter command given and error shows up.
Run Code Online (Sandbox Code Playgroud)
无论如何直接可以编辑/修改输入错误并重新运行代码?它会节省大量时间,否则我会使用向上/向下箭头逐行输入.
请指导.
我需要什么才能解决这个问题?如何在 Eclipse 项目中更改 JRE 库?
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.stream.Stream;
import java.util.stream.Collectors;
public class LabelGroup {
SortedSet<String> strSet1 = Stream.of("A", "B", "C", "D")
.collect(Collectors.toUnmodifiableSet());
}
Run Code Online (Sandbox Code Playgroud)
Eclipse 在 Stream.of 中显示:
只允许在源代码级别 1.8 或更高版本中引用接口静态方法
回复:
找不到(软件)。
关于 Eclipse:面向企业 Java 开发人员的 Eclipse IDE 版本:2018-12 (4.10.0) 构建 ID:20181214-0600
项目设置:java 构建路径:JRE 系统库 [JavaSE - 1.7]