ArithmeticExpression

다른 워치 페이스 형식 요소들이 실시간 속성 값 및 자이로스포크 효과를 확인하는 데 사용하는 산술 함수와 연산 모음입니다.

Wear OS 4에서 도입되었습니다.

Wear OS 기기 가속도계의 $ x $ 값을 기준으로, 값을 왼쪽 또는 오른쪽으로 최대 5도 회전하는 표현식의 예는 다음과 같습니다.

(5/90)*clamp([ACCELEROMETER_ANGLE_X],0,90) + (-5/90)*clamp([ACCELEROMETER_ANGLE_X],-90,0)

이는 다음 수학 표현식과 동일합니다. 여기서 $\theta_x $는 $ x $ 방향의 가속도계 각도를 나타냅니다.

$$ \frac{5}{90} * max(min(\theta_x, 90), -90) $$

함수

워치 페이스 형식은 다음 문자열 값을 함수로 인식합니다.

round()
입력 값을 부동 소수점 값으로 변환한 다음 표준 round() 수학 연산을 실행합니다.
floor()
표준 floor() 수학 연산을 실행합니다.
ceil()
표준 ceil() 수학 연산을 실행합니다.
fract()
입력 값의 소수 부분, 즉 부동 소수점 값에서 소수점 오른쪽에 표시되는 부분을 반환합니다.
sin()
표준 sin() 삼각함수 연산을 실행합니다.
cos()
표준 cos() 삼각함수 연산을 실행합니다.
tan()
표준 tan() 삼각함수 연산을 실행합니다.
asin()
표준 asin() 삼각함수 연산을 실행합니다. 반환된 값은 항상 $ [-\frac{\pi}{2}, \frac{\pi}{2}] $ 범위 내에 있습니다.
acos()
표준 acos() 삼각함수 연산을 실행합니다. 반환된 값은 항상 $ [0.0, \pi] $ 범위 내에 있습니다.
atan()
표준 atan() 삼각함수 연산을 실행합니다. 반환된 값은 항상 $ [-\frac{\pi}{2}, \frac{\pi}{2}] $ 범위 내에 있습니다.
abs()
입력 값을 부동 소수점 값으로 변환한 다음 표준 abs() 수학 연산을 실행합니다.
clamp(,,)
입력 값을 부동 소수점 값으로 변환한 다음 clamp() Jetpack 연산을 실행하여 첫 번째 값을 두 번째 값과 세 번째 값으로 정의된 범위에 맞춥니다.
rand(,)

동시에 다음 조건을 모두 충족하는 임의의 부동 소수점 값을 생성합니다.

  • 첫 번째 값보다 크거나 같음
  • 두 번째 값보다 작거나 같음

첫 번째 값이 두 번째 값보다 작거나 같다고 가정합니다.

log()

표준 base-$ e $ log() 수학 연산을 실행합니다.

log2()

base-2 대수를 시뮬레이션합니다. 이 값은 base-10 대수(입력 값의 log10)를 $ 2 $의 base-10 대수로 나누어서 계산됩니다.

log10()

표준 base-10 log10 수학 연산을 실행합니다.

sqrt()

표준 sqrt() 수학 연산을 실행합니다.

cbrt()

표준 cbrt() 수학 연산을 실행합니다.

exp()

표준 exp() 수학 연산을 실행합니다.

expm1()

입력 값이 $ 1 $인 경우 expm1() 수학 연산을 직접 호출합니다. 다른 모든 입력 값의 경우 표준 exp() 수학 연산을 실행한 다음 1을 빼서 함수를 시뮬레이션합니다.

deg()

표준 toDegrees() 수학 연산을 실행합니다. $ \frac{\pi}{2} $는 90도로 정의되고 $ \pi $는 180도로 정의됩니다.

rad()

표준 toRadians() 수학 연산을 실행합니다. 90도는 $ \frac{\pi}{2} $로 정의되고 180도는 $ \pi $로 정의됩니다.

pow(,)

표준 pow() 수학 연산을 실행합니다. 출력 값은 항상 부동 소수점 수입니다.

numberFormat(,)

첫 번째 값의 숫자 형식을 두 번째 값에 적용합니다.

첫 번째 값은 다음 문자를 포함할 수 있습니다.

  • #: 숫자를 나타냅니다.
  • ,: 큰 수의 쉼표 구분 기호를 나타냅니다.
  • .: 소수점을 나타냅니다.
icuText()

입력 날짜 형식 문자열을 예상 언어 형식과 일치하는 패턴으로 변환합니다. 상위 PartText 요소에 Localization 요소가 포함된 경우 해당 언어 형식을 사용합니다. 그렇지 않으면 Wear OS 기기의 현재 언어를 사용합니다.

예를 들어 기기가 미국에서 사용 중인 경우 입력 값 EE, MMM d, yyyy h:mm a은 다음과 같은 출력을 생성합니다. Tue, Mar 14, 2023 1:59 PM

icuBestText()

입력 날짜 형식 문자열을 예상 형식과 일치하는 현재 시간으로 변환합니다. 상위 PartText 요소에 Localization 요소가 포함된 경우 해당 언어 형식을 사용합니다. 그렇지 않으면 Wear OS 기기의 현재 언어를 사용합니다.

예를 들어 기기가 2023년 3월 14일 오후 1시 59분에 미국에서 사용 중인 경우 입력 값 yyyy MMM d EE a h:mm은 다음과 같은 출력을 생성합니다. Tue, Mar 14, 2023, 1:59 PM

subText(,,)

첫 번째 값에서 하위 문자열을 추출합니다. 두 번째 값은 첫 번째 값에서 하위 문자열이 시작되는 위치의 0 기반 색인을 나타냅니다. 세 번째 값은 첫 번째 값에서 하위 문자열 추출을 중지해야 하는 위치의 0 기반 색인을 나타냅니다(두 번째 값에서 시작하고 세 번째 값 직전에서 종료).

예를 들면 다음과 같습니다.

  • subText("abc def", 2, 5)c d입니다.
  • subText("abc def", 2, 7)c def입니다.
textLength()

입력 문자열의 길이를 계산합니다.

연산자

워치 페이스 형식은 다음 문자열 값을 연산자로 인식합니다.

+
단항 덧셈 또는 여러 값의 덧셈. 정수 값과 부동 소수점 값을 모두 지원합니다.
-
단항 뺄셈 또는 여러 값의 뺄셈. 정수 값과 부동 소수점 값을 모두 지원합니다.
*
여러 정수 또는 부동 소수점 값의 곱셈.
/

2개의 정수 또는 부동 소수점 값의 나눗셈.

정수 2개의 나눗셈의 결과로 정수가 아닌 값이 나오는 경우, 소수점 이하 자릿수는 부동 소수점 결과에 보존됩니다. 예를 들어 $ \frac{1}{2} = 0.5 $입니다.

이에 더해 표현식 $ \frac{x}{0} $(여기서 $ x $는 임의의 정수)은 0으로 계산됩니다.

%

2개의 정수 또는 부동 소수점 값의 모듈러 나눗셈.

두 피연산자가 모두 정수인 경우 결과는 두 값을 나눈 나머지입니다. 예를 들어 $ 19 \bmod 7 = 5 $입니다.

하나 이상의 피연산자가 부동 소수점 수인 경우 결과는 나머지의 부동 소수점 등가 값입니다. 예: $ 19.0 \bmod 7 = 5.0 $

~

비트 'not' 연산자. 다음은 몇 가지 예입니다.

  • ~1은 $ -2 $입니다.
  • ~0은 $ -1 $입니다.
!

이중 음수를 지원하는 논리 'not' 연산자. 다음은 몇 가지 예입니다.

  • $ !2 $는 false입니다.
  • $ !!0 $은 true입니다.
|

비트 'or' 연산자. 셋 이상의 입력 값을 지원합니다. 다음은 몇 가지 예입니다.

  • $ 1 | 0 = 1 $
  • $ 1 | 2 | 4 = 7 $
||
논리 'or' 연산자.
&
비트 'and' 연산자. 정확히 2개의 입력 값을 지원합니다.
&&
논리 'and' 연산자.
(
여는 괄호. 곱셈과 나눗셈이 덧셈과 뺄셈보다 우선하는 표준 연산 순서를 변경하는 데 사용됩니다.
)
닫는 괄호. 곱셈과 나눗셈이 덧셈과 뺄셈보다 우선하는 표준 연산 순서를 변경하는 데 사용됩니다.
<
'보다 작음' 비교 연산자. 정수 값을 부동 소수점 등가 값과 비교하는 경우 결과는 false입니다.
<=
'보다 작거나 같음' 비교 연산자. 정수 값을 부동 소수점 등가 값과 비교하는 경우 결과는 true입니다.
>
'보다 큼' 비교 연산자. 정수 값을 부동 소수점 등가 값과 비교하는 경우 결과는 false입니다.
>=
'보다 크거나 같음' 비교 연산자. 정수 값을 부동 소수점 등가 값과 비교하는 경우 결과는 true입니다.
?:

3항 연산을 지원합니다. 일반적인 형식은 다음과 같습니다.

condition ? value_if_true : value_if_false

괄호를 사용하여 중첩된 3항 연산을 지원합니다.

,

둘 이상의 인수를 받는 함수에서 값을 구분합니다.

"

값의 시작과 끝에 배치된 경우 워치 페이스 형식이 이 값을 문자열로 해석해야 함을 나타냅니다.

==

등식 비교. 정수 값을 부동 소수점 등가 값과 비교하는 경우 결과는 true입니다.

!=

부등식 비교. 정수 값을 부동 소수점 등가 값과 비교하는 경우 결과는 false입니다.