파이썬에서 목록이 있으면 색인을 찾을 수 있습니다. 이렇게하면 사물을 추가 할 때 ID를 계속 실행할 수 있습니다. > things = []
> things.append("spinach")
> things.append("carrots")
> things.index("carrots")
1
그래서 야채 (또는 덩이 식물)를주세요. ID를 찾을 수 있
나는 지나가는 채플 예를 찾고있다. 이 예제는 작동하지만 입력을 "반환"하기 때문에 나쁜 형식으로 보입니다. 이것은 메모리를 낭비합니까? 수업을 운영하기위한 명확한 방법이 있습니까? class PowerPuffGirl {
var secretIngredients: [1..0] string;
}
var bubbles = new PowerPuffG
다음은 채플에서 다시 작성해야하는 파이썬 계열 패턴입니다. class Gambler {
var luckyNumbers: [1..0] int;
}
var nums = [13,17,23,71];
var KennyRogers = new Gambler();
KennyRogers.luckyNumbers = for n in nums do n;
내 랩톱에서 정상적으로 작동하지만이 문제가 대규모로 발생하는지 궁금합니다. 매우 큰 배열을 채우고 싶다고 가정합니다. 그러나 각 항목은 대형 분산 된 행렬에 강렬한 행렬 연산이 필요합니다. 다음과 같은 디자인을 고수해야할까요? var x: [1..N] real;
forall i in [1..N] {
x[i] = reallyHeavyMatrixC
조건부를 기반으로 도메인의 하위 집합을 만들고 싶습니다. 루프를 할 수는 있지만 인라인 if를 사용할 수 있는지 찾고 있습니다. 그냥 다시 만드는 var d = {1..8};
var e = [0.875, 0.625, 0.625, 1.0, 0.625, 0.875, 0.625, 0.625];
var p = 0.7;
var vs = for i in d d
또는 동적 길이의 유사한 데이터 구조. 배열에 쉽게 캐스트 할 수 있습니다. 유일한 해결 방법은 배열을 문자열로 입력하고 수동으로 파싱하는 것입니다. config var not_array: string = '[1,2,3,4,5]' ;
proc main() {
// config array workaround
writeln("I am st
는, 내가 예배당 도메인이 알고 >>> s = set()
>>> s.add("table")
>>> s.add("chair")
>>> s.add("emu")
>>> s
set(['emu', 'table', 'chair'])
독특한, 취소 명령 개체의 집합을 쉽게 만들 수 있지만, 이러한 집합으로 사용하기 적당하다? 문제가 있습니까? 사전은 어때?
모든 대문자를 쓰면 실제로 FORTRAN의 유산을 볼 수 있습니다. 어쨌든 forall continue 구문이 올바르지 않습니다. 예배당 forall를 사용하는 경우 var ids = {1,2,3,5,7,11};
forall id in ids {
if id == 5 then writeln("High Five!!");
if id == 7
원격 변수 선언은 어떻게 작동합니까? 나는 Chapel language specification의 26.2.1 절에 설명 된 on 절로 일반 변수 선언을 보완하려고 시도했지만 작동하지 않는 것 같습니다. 예를 들어, 다음 코드 행 : on Locales[1] var x: [0..10] real;
오류 syntax error: near 'var'와 함께