我总是看到严肃项目中的人们使用::无处不在,而且 - >偶尔只在当地环境中使用.
我只使用 - >我自己,并且在我需要一个类之外的静态值的情况下永远不会结束.我是个坏人吗?
据我了解,唯一->不起作用的情况是我尝试以下时:
class StaticDemo {
private static $static
}
$staticDemo = new StaticDemo( );
$staticDemo->static; // wrong
$staticDemo::static; // right
Run Code Online (Sandbox Code Playgroud)
但是当我不通过简单的公共方法调用时,我是否错过了一些编程正确性::?
或者只是这样我可以在不创建实例的情况下调用方法?
PHP引入了一种方法,允许您选择实例的所有公共值.在Scala有什么办法吗?即获取实例化类(非对象)的所有公共字段的所有值.
让我们假设我有这门课
class TestElement( datatype: Datatype, var subject: String, var day: Int, var time: Int )
extends DataElement( datatype: Datatype ) {
def to( group: Group ) = group.add( this );
}
var element = new TestElement( datatype, "subject", 1, 1 );
Run Code Online (Sandbox Code Playgroud)
我需要的方法是获取一个Map或两个值集合.
var element.method // the function I need
ret: ( ("subject", "subject"), ("day", 1), ("time", 1) ) // its output
Run Code Online (Sandbox Code Playgroud) 如果我们应该使用Vector作为默认的Sequence类型,为什么标准集合类型中没有toVector方法(如toList,toArray)?
在原型设计阶段,是否可以将所有集合符合Seq类型并在所有集合返回上使用toSeq(将所有内容转换为Seq)?
在scala中,为什么toSet()方法会混淆collection(ListBuffer)中元素的顺序?
我可以使用哪个集合来确保每个元素的唯一性并保持其原始顺序?