최소한의 경우입니다. def foo(x:int, y:int) -> tuple:
return (x*y, y//2)
그것은 유효한 포맷하지 않은 -> tuple(:int, :int)을 쓸 수있게 된 것을 매우 유혹. 이 경우 올바른 접근 방법이 있습니까, 아니면 파이썬이 유형 주석 도로를 따라 내려갈 때까지 여전히 회색 영역입니까? 편집 : 그것은
void main(){
new C(new A()); // This gives no warning or error
new D(new A()); // This gives an error
}
class A{}
class B extends A{}
class C {
B b;
C(A bb){ this.b = bb; }
내가이 모든 항목을 제외하고 일반 사전 식 순서 (서브 시퀀스) 첫번째 반전이 있다는 Seq[Seq[T]] 등을위한 순서를 정의했다 (C,B,A 있도록하는 A,B,C 전에하지만 A,B,A 후 제공) : 이것은 사용 implicit def ReverseListOrdering[T: Ordering] = new Ordering[Seq[T]] {
over
필자는 Java에서 강력한 정적 배경을 가지고 있으며 형식이 안전한 언어입니다. 필자가 작성한 프로그래머가 기본 컨벤션 및 모범 사례를 따랐다 고 가정하고 대용량 코드를 매우 빠르고 쉽게 읽을 수 있다는 것을 알았습니다. 컴파일과 자동 완성의 이점 때문에 Eclipse와 IntelliJ와 같은 꽤 좋은 IDE를 사용하면 꽤 빨리 코드를 작성할 수 있습니다.
: val t : Tuple2[String , Array[Tuple2[[String , String] , Double]]] = ("a", Array((("a", "b"), 1.0), (("a", "c"), 2.0)))
그러나이 오류가 나타납니다 : Multiple markers at this line - identifier expected but '['
여가 시간에 취미로 프로그래밍 언어를 개발하고 있습니다. 그것은 해석 된 언어입니다. 현재 변수에 대한 구문은 다음이다 : %<variable> = <value>
여기 일부 예 : %test = 10
%somevar = "Hello World"
방금 변수로 선언 할 순간 유형에 관계없이, 상술 한 바와 같이. 원하는 경우 프로그램을 통해 유형을
동적 유형 지정 언어에서 함수를 인수로 사용하여 함수를 반환하는 함수를 만들 수 있습니다. 예를 들어 memoize은 Clojure에서 작동합니다. 이 예에서 (def memoized-fn
(memoize any-function))
, memoize는 any-function가 또는 얼마나 많은 인수가 * 수용을 의미 할 기능을 상관하지 않는다.
프로그래밍 경험을 통해 정적으로 입력 된 언어에 대한 두 가지 유형의 주석을 보았습니다 : 나는 'before'와 'after'라고 부릅니다. 대부분의 비-C-가족의 언어는 C, C++, 자바 것 형식을 이전 카테고리의 var c:int = 5
예를 사용하지만 C 스타일 언어 형식 int i = 5
를 사용; 후자의 범주의 예는 Scala, Haxe
필자는 파이썬의 통사론을 좋아한다. 및 표준 라이브러리 기능을 제공합니다. 그러나 내가 싫어하는 특징 중 하나는, 암시 적 타이핑입니다. 명시 적 타이핑이있는 파이썬 배포본이 있습니까? 이는 여전히 PyPi의 패키지와 호환됩니다. 약하게 입력 정의에 의해 파이썬은 인터프리터 언어로 의견이 제한되어 있기 때문에
null을 싫어하는 척하자. @ Nullable처럼 선택 해제하는 것이 나를 위해 충분하지 않다고 가정 해 봅시다. 옵트 인을 원한다고 가정 해 봅시다. 오브젝트가 @ Nullable로 명시 적으로 주석되어 있지 않으면 널 (NULL)이 허용되지 않습니다. 예 : MyClass derp = null; // Compiler error
@Nullable