계산 줄 작성하기
이 페이지에서는 모든 계산 블록의 바탕이 되는 기본을 다뤄요. 줄을 어떻게 읽는지, 계산 옆에 메모를 남기는 방법, 값에 이름을 붙여 다시 쓰는 방법, 조건에 따라 줄의 결과를 바꾸는 방법을 알아봐요. Varlig에서 계산을 처음 해 본다면 여기서 시작하고, 이름이나 주석이 예상대로 작동하지 않을 때도 다시 찾아오세요.
한 줄에 식 하나
계산은 메모 안의 계산 블록에 적어요. ```calc 펜스를 입력하거나 ⌘Y를 눌러 블록을 삽입하세요.
블록의 각 줄이 하나의 계산이고, 결과는 줄 옆에 표시돼요.
₩4,500 * 5 결과 ₩22,50045 min + 1 hour 20 min 결과 2 hours 5 min1.5 litres in ml 결과 1,500 mL빈 줄과 주석 줄에는 결과가 없으므로, 블록에 여백을 두거나 설명을 곁들이며 써 내려갈 수 있어요.
Varlig는 먼저 ₩45,000 with 10% VAT 같은 일상 표현까지 포함해 줄 전체를 수식으로 읽어요.
그렇게 읽히지 않으면 알아보지 못한 단어를 제쳐 두기 때문에, 5 사과 + 3 오렌지도 8이 돼요.
빠르게 적어 둘 때는 편리하지만, 설명 단어가 표현이나 단위 이름과 겹칠 수 있어요. 줄이 무엇을 위한
것인지 적고 싶다면 이어서 설명할 주석이나 라벨을 사용하세요.
자세한 내용은 Varlig가 표현을 읽는 방법을 참고하세요.
주석
주석은 계산기가 무시하는 텍스트예요. 쓰는 방법은 세 가지가 있어요.
| 형식 | 예 | 무시되는 부분 |
|---|---|---|
| 해시 주석 | 월세 * 12 # 1년 치 또는 # 예산 |
#부터 줄 끝까지 |
| 슬래시 주석 | 월세 * 12 // 1년 치 |
//부터 줄 끝까지 |
| 따옴표 메모 | "플랫 화이트" ₩4,500 * 5 |
줄 어디에 있든 큰따옴표 안의 모든 내용 |
# 이번 주 장보기우유 = ₩2,980식빵 = ₩3,500 // 사워도우달걀 = ₩6,900 "동물복지"우유 + 식빵 + 달걀 # 다른 물건은 빼고 결과 ₩13,380#으로 시작하는 줄은 처음부터 끝까지 주석이므로, 블록 안에서 소제목처럼 쓰기 좋아요.
라벨
라벨은 줄 맨 앞에 쓰는 짧은 말과 그 뒤의 콜론, 공백이에요. 수식의 일부가 되지 않고 결과가 무엇인지 설명해 줘요.
전기요금 = ₩42,000가스요금 = ₩38,000전기와 가스 요금: 전기요금 + 가스요금 결과 ₩80,000카페 계산: ₩5,500 + ₩4,000 결과 ₩9,500라벨에는 문자(악센트가 붙은 문자 포함), 공백, 밑줄을 쓸 수 있지만 숫자는 쓸 수 없어요.
라벨은 이름을 만들지 않아요. 전기와 가스 요금: 전기요금 + 가스요금이라고 써도 전기와 가스 요금이라는
값은 생기지 않아요. 결과를 다시 쓰고 싶다면 =를 사용하세요. 또한 대입 앞에 라벨을 붙이지 마세요.
공과금: 전기요금 = ₩42,000이라고 쓰면 금액은 표시되지만 전기요금은 저장되지 않아요.
대입
=로 값에 이름을 붙여요. 그 줄에도 값이 표시되므로 확인하면서 진행할 수 있어요.
가격 = ₩65,000 결과 ₩65,000가격 + 20% 결과 ₩78,000이미 정의한 이름을 갱신하려면 +=, -=, *=, /=를 사용하세요.
모임 회비 = ₩50,000모임 회비 += ₩30,000 결과 ₩80,000모임 회비 -= ₩18,500 결과 ₩61,500분량 = 4분량 *= 3 결과 12밀가루 = 750 g밀가루 /= 3 결과 250 g오른쪽 식이 실패하면 그 이름에는 오류가 담기고, 이름에 값을 다시 대입할 때까지 그 이름을 쓰는 모든 줄에 같은 오류가 표시돼요.
손님 = 0인당 비용 = ₩60,000 / 손님 결과 Error: divide by zero인당 비용 + ₩5,000 결과 Error: divide by zero이름
이름은 여러 단어로 지을 수 있고, 악센트가 붙은 문자와 라틴 문자가 아닌 문자, 숫자, 밑줄, 이모지를 포함할 수 있어요.
플랫 화이트 = ₩5,000플랫 화이트 * 5 결과 ₩25,000crème brûlée = ₩7,500crème brûlée * 2 결과 ₩15,000🍎 가격 = ₩1,200🍎 가격 * 6 결과 ₩7,200q1 후원금 = ₩45,000q2 후원금 = ₩52,000q1 후원금 + q2 후원금 결과 ₩97,000침실_너비 = 3.2 m침실_너비 * 2 결과 6.4 m이름에는 to, in, needed처럼 Varlig가 다른 곳에서 쓰는 단어를 넣을 수 있고, floor 같은 내장 함수의
이름을 빌려 쓸 수도 있어요. 값으로 쓰이는 자리에서는 Varlig가 내가 정한 값을 읽어요.
time to work = 25 mintime to work * 10 결과 250 minpaint needed = 12.44 Lpaint needed to 1 dp 결과 12.4 Lfloor = 12 m²floor * 2 결과 24 m²floor(3.7) 결과 3floor(3.7)처럼 뒤에 괄호가 오면 함수가 원래 하던 일을 그대로 해요.
이름이 영어 숫자 단어로 끝나도 돼요. 그래서 가격을 메뉴에 적힌 그대로 쓸 수 있어요.
table for four = ₩96,000table for four / 4 결과 ₩24,000이름은 영문 대소문자를 구분해요. eggs와 Eggs는 서로 다른 값이에요.
시급이나 세율처럼 모든 메모에서 쓰고 싶은 이름이 있다면, 메모마다 반복해서 쓰지 말고 Settings의 전역 정의에 추가하세요.
내장 단어와 겹치는 이름
내가 정의한 이름은 단위, 숫자 단어, 상수처럼 철자가 같은 다른 것보다 우선해요. 그래도 흔히 쓰는 이름이
양을 건드리지는 않아요. 영어 복수형 이름이나 단위 바로 앞에 쓴 숫자는 그 대상의 개수를 세고, tip이나
tax 앞의 퍼센트는 팁이나 세금을 나타내요. 그래서 hours, nights, tip이라는 값이 있어도 다음 줄들은
바뀌지 않아요.
시급 = ₩12,000 / hourhours = 7.5시급 * 7.5 hours 결과 ₩90,000nights = 14₩65,000/night * 14 nights 결과 ₩910,000tip = $12.69$84.60 + 18% tip 결과 $99.83단어 위에 포인터를 올리면 Varlig가 어떻게 읽었는지 볼 수 있어요. 시급 * 7.5 hours에서는
"Counts hours here, not the variable hours = 7.5."가 표시돼요. 줄의 다른 자리에서는
split ₩90,000 among people처럼 이름이 내가 정한 값이에요.
다음과 같은 경우에는 내가 정의한 이름 때문에 줄의 의미가 바뀌어요.
- 한 글자 이름은 항상 내 값을 뜻해요. 그래서
m = 3다음에는2 m가 2미터가 아니라 6이에요. - 숫자 뒤에 오는 이름이 복수형이 아니면 곱해져요. 그래서
너비 = 3다음에는2 너비가 6이에요. 힌트에서 뜻이 분명하도록2 * 너비로 쓰라고 제안해요. - 숫자 단어와 상수도 대체돼요.
one = 7다음에는one times two가 14예요.
두 가지 습관만 들이면 대부분의 뜻밖의 결과를 피할 수 있어요.
m,s,h,in같은 단위 기호만으로 이름을 짓거나,pi,one,i같은 상수와 숫자 단어를 다시 쓰지 마세요.근무 시간,일당,달린 거리처럼 뜻이 분명한 이름을 쓰세요.
문서 순서
각 줄은 자기보다 위에서 정의된 이름을 볼 수 있어요. 이름은 같은 메모의 뒤쪽 계산 블록으로도 이어지므로, 입력값을 한 번만 정해 두고 페이지 아래쪽에서 계속 쓸 수 있어요.
가격 = ₩20,000수량 = 3비용 = 가격 * 수량 결과 ₩60,000가격 = ₩25,000가격 * 수량 결과 ₩75,000비용 결과 ₩60,000가격을 다시 정의해도 앞쪽의 비용 줄은 바뀌지 않아요. 비용은 그 시점의 가격으로 계산되었기 때문이에요.
앞선 계산의 결과를 바꾸려면 입력값이 정의된 줄을 고치세요.
바로 위의 결과
prev는 가장 가까운 위쪽 줄의 결과이고, ans도 ans라는 이름의 값을 따로 만들지 않았다면 같은 뜻이에요.
앞 결과에 이어서 간단히 계산할 때 편리해요.
₩65,000 * 12 결과 ₩780,000prev / 52 결과 ₩15,000ans + ₩2,000 결과 ₩17,000여러 줄을 한꺼번에 더하려면 한 줄에 sum이나 total만 쓰세요.
위쪽 줄 합산하기를 참고하세요.
범위 초기화
---만 있는 줄은 새로운 범위를 시작해요. 그 위에서 정의한 이름, 사용자 정의 단위, 직접 만든 함수는 그 아래에서
더 이상 보이지 않아요. 한 메모에서 두 가지 경우를 비교할 때 서로의 값이 섞이지 않아서 유용해요.
# 방안 A: 시내 원룸월세 = ₩750,000교통비 = ₩60,000월세 + 교통비 결과 ₩810,000---# 방안 B: 외곽 원룸월세 = ₩550,000교통비 = ₩150,000월세 + 교통비 결과 ₩700,000--- 아래에서는 교통비를 다시 정의해야 해요. 잊어버리면 그 이름을 쓰는 줄이 참조할 값이 없어요.
조건문
if … then … else …는 비교 결과에 따라 두 값 중 하나를 골라요. 단독으로 쓸 수도 있고, 결과를 이름에
대입할 수도 있어요.
장바구니 = ₩34,500배송비 = if 장바구니 >= ₩40,000 then ₩0 else ₩3,000 결과 ₩3,000장바구니 + 배송비 결과 ₩37,500결과가 셋 이상이면 else if를 이어 붙이세요.
장바구니 = ₩34,500if 장바구니 < ₩20,000 then ₩4,000 else if 장바구니 < ₩40,000 then ₩2,500 else ₩0 결과 ₩2,500선택된 쪽만 계산되므로, 다른 쪽에는 실패할 수 있는 식이 들어 있어도 괜찮아요.
손님 = 0if 손님 > 0 then ₩120,000 / 손님 else ₩0 결과 ₩0뒤에 붙이는 if와 unless
조건을 값 뒤에 둘 수도 있어요. value if condition은 조건이 참일 때 값을 표시하고,
value unless condition은 조건이 거짓일 때 값을 표시해요. 어느 쪽이든 그렇지 않으면 줄에 아무것도
표시되지 않아요.
장바구니 = ₩34,500₩3,000 if 장바구니 < ₩40,000 결과 ₩3,000₩3,000 unless 장바구니 >= ₩40,000 결과 ₩3,000조건문 안에서 대입하기
양쪽 분기 모두 같은 이름에 대입할 수 있어요.
장바구니 = ₩34,500if 장바구니 >= ₩40,000 then 택배비 = ₩0 else 택배비 = ₩3,000 결과 ₩3,000택배비 결과 ₩3,000then 분기만 있으면 조건이 참일 때만 대입이 일어나고, 그렇지 않으면 이름이 원래 값을 유지해요.
장바구니 = ₩34,500적립금 = 0if 장바구니 > ₩30,000 then 적립금 = 500 결과 500적립금 결과 500>= 같은 비교와 &&, || 연산자는
연산자, 비교, 조건문에서 다뤄요.
모두 합쳐 보기
메모에 적어 둘 법한 작은 프리랜서 청구서예요.
# 3월 청구서일당 = ₩350,000작업일수 = 6교통비 = ₩120,000 // KTX 요금작업비 = 일당 * 작업일수 결과 ₩2.1M소계 = 작업비 + 교통비 결과 ₩2.22M과세사업자 = true부가세 = if 과세사업자 then 소계 * 10% else ₩0 결과 ₩222,000청구 합계: 소계 + 부가세 결과 ₩2.442M모든 입력값에 이름이 있으니 다음 달에는 작업일수와 교통비만 바꾸면 청구서의 나머지가 따라 바뀌어요.
주석과 라벨 덕분에 블록을 읽기 쉽고, 조건문 덕분에 부가세를 청구하든 안 하든 같은 메모를 쓸 수 있어요.