diff --git a/public/static/images/shu-uesugi-machupicchu.jpg b/public/static/images/shu-uesugi-machupicchu.jpg
index 998699756..8b1c3de37 100644
Binary files a/public/static/images/shu-uesugi-machupicchu.jpg and b/public/static/images/shu-uesugi-machupicchu.jpg differ
diff --git a/scripts/lib/runnerConfigs.ts b/scripts/lib/runnerConfigs.ts
index 00670394c..0ec922e78 100644
--- a/scripts/lib/runnerConfigs.ts
+++ b/scripts/lib/runnerConfigs.ts
@@ -1709,6 +1709,14 @@ export const xusi: ExpressionRunnerShorthandConfig = {
explanationsVisibility: 'visible'
}
+export const zjto: ExpressionRunnerShorthandConfig = {
+ runner: 'simple',
+ initialExpressionContainer: initialExpressionContainers.udaf,
+ showPriorities: true,
+ initialState: 'needsAlphaConvert',
+ explanationsVisibility: 'visible'
+}
+
export const lipt: ExpressionRunnerShorthandConfig = {
runner: 'runButtonOnly',
initialExpressionContainer: initialExpressionContainers.udaf,
diff --git a/src/components/ExpressionRunnerExplanation.tsx b/src/components/ExpressionRunnerExplanation.tsx
index 30c885827..37ffc2f81 100644
--- a/src/components/ExpressionRunnerExplanation.tsx
+++ b/src/components/ExpressionRunnerExplanation.tsx
@@ -27,13 +27,13 @@ const allAtOnce = (hideFuncUnboundBadge?: boolean) =>
locale === 'en' ? (
<>
Label items as {' '}
- {' '}
+ {' '}
{!hideFuncUnboundBadge && (
<>
{' '}
>
)}
- {' '}
+ {' '}
>
) : (
<>
diff --git a/src/components/H.tsx b/src/components/H.tsx
index 1e2a60d94..220c0de84 100644
--- a/src/components/H.tsx
+++ b/src/components/H.tsx
@@ -247,7 +247,7 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => {
return (
Hello! This is page {episodeNumber + 1}{' '}
- of a course called “
+ of the course called “
{lessonTitle}
”. If you just got here,{' '}
@@ -1934,14 +1934,14 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => {
Things I’m pretty good at:{' '}
- Expository writing (like this course),{' '}
+ Expository writing (like this course) and{' '}
React/TypeScript (
see the repo for this course
- ), and product design (but not visual
- design). I’ve also worked with Rails from
- version 1 to version 6.
+ ). I’m okay at product design. I’ve also
+ worked with Rails from version 2 to
+ version 6.
Current interests: As a professional EN → JP
diff --git a/src/components/Runners/Zjto.tsx b/src/components/Runners/Zjto.tsx
new file mode 100644
index 000000000..f80fc454a
--- /dev/null
+++ b/src/components/Runners/Zjto.tsx
@@ -0,0 +1,12 @@
+import React from 'react'
+import ExpressionRunnerPrecomputed from 'src/components/ExpressionRunnerPrecomputed'
+import config from 'src/lib/runners/zjto.json'
+
+const Zjto = ({ children }: { children?: React.ReactNode }) => (
+ // @ts-ignore
+
+ {children}
+
+)
+
+export default Zjto
diff --git a/src/components/Runners/fakeIndex.ts b/src/components/Runners/fakeIndex.ts
index 9e92c0481..ace63025f 100644
--- a/src/components/Runners/fakeIndex.ts
+++ b/src/components/Runners/fakeIndex.ts
@@ -243,6 +243,7 @@ export { default as Hiag } from 'src/components/FakeRunner'
export { default as Gqct } from 'src/components/FakeRunner'
export { default as Zwut } from 'src/components/FakeRunner'
export { default as Xusi } from 'src/components/FakeRunner'
+export { default as Zjto } from 'src/components/FakeRunner'
export { default as Lipt } from 'src/components/FakeRunner'
export { default as Zzhq } from 'src/components/FakeRunner'
export { default as Mzys } from 'src/components/FakeRunner'
diff --git a/src/components/Runners/index.ts b/src/components/Runners/index.ts
index 06fb7bd3b..401411b63 100644
--- a/src/components/Runners/index.ts
+++ b/src/components/Runners/index.ts
@@ -243,6 +243,7 @@ export { default as Hiag } from 'src/components/Runners/Hiag'
export { default as Gqct } from 'src/components/Runners/Gqct'
export { default as Zwut } from 'src/components/Runners/Zwut'
export { default as Xusi } from 'src/components/Runners/Xusi'
+export { default as Zjto } from 'src/components/Runners/Zjto'
export { default as Lipt } from 'src/components/Runners/Lipt'
export { default as Zzhq } from 'src/components/Runners/Zzhq'
export { default as Mzys } from 'src/components/Runners/Mzys'
diff --git a/src/contents/10.en.tsx b/src/contents/10.en.tsx
index acf6ec17d..d1d8a62e8 100644
--- a/src/contents/10.en.tsx
+++ b/src/contents/10.en.tsx
@@ -115,10 +115,12 @@ export default () => (
type: 'devil',
children: (
<>
- I can’t return those yet.
+
+ I can’t return those yet.
+
- The only one I’m returning you now is mathboxes with{' '}
+ The only ones I’m returning for now are mathboxes with{' '}
.
@@ -137,10 +139,7 @@ export default () => (
type: 'crying',
children: (
<>
-
- But… you said, you’ll return our mathboxes if we solve
- that difficult problem!
-
+ But… you promised to return the mathboxes!
>
)
},
@@ -349,8 +348,7 @@ export default () => (
{
title: (
<>
- A hint for reproducing{' '}
-
+ A hint for reproducing
>
),
content: (
@@ -373,8 +371,11 @@ export default () => (
children: (
<>
- Yes. Let me give you a hint for reproducing{' '}
- !
+ Yes.{' '}
+
+ Let me give you a hint for reproducing{' '}
+ !
+
>
)
@@ -474,10 +475,7 @@ export default () => (
children: (
<>
But… this lunchbox looks so complicated!
-
- I don’t think we can figure out how to fill each{' '}
- icon…
-
+ I don’t think we can do it…
>
)
}
@@ -491,7 +489,8 @@ export default () => (
content: (
<>
- The villagers were struggling, but looks like Saya’s got an idea:
+ The villagers were struggling, but it looks like Saya’s got an
+ idea:
(
, right?
+ ,
+ ,
+
+ ]}
+ description={
+ <>
+ We want it to calculate {' '}
+ ➖
+ >
+ }
+ />
>
)
}
@@ -668,7 +680,7 @@ export default () => (
<>
- You don’t have to follow all the steps!
+ You don’t have to follow all the steps with your eyes!
{' '}
Just glance over it. Save your eyes!
@@ -680,7 +692,7 @@ export default () => (
children: (
<>
- Take a look!{' '}
+ But guys, take a look!{' '}
(
/>{' '}
are both now.
+
The special rule applies, and the{' '}
@@ -722,13 +735,15 @@ export default () => (
children: (
<>
- The special rule just applied, and the{' '}
- in{' '}
- {' '}
- became .
+
+ The special rule just applied, and the{' '}
+ in{' '}
+ {' '}
+ became .
+
Now, let’s {' '}
@@ -764,6 +779,8 @@ export default () => (
}}
/>
+
+
(
}
]}
/>
-
+
Combine 👧🏻 Saya’s lunchbox with
a lunchbox that can be converted to …
-
+
-
+
The result is a lunchbox that can be
converted to
-
+
(
Well: Just because you were able to
calculate ➖{' '}
- , it doesn’t necessarily mean
- that your lunchbox has reproduced{' '}
- .
+ ,{' '}
+
+ it doesn’t necessarily mean that your lunchbox has
+ reproduced .
+
- It needs to be able to subtract 1 from{' '}
- any number.
+
+ It needs to be able to subtract 1 from{' '}
+ any number.
+
+ ,
+ ,
+ ,
+ ➖,
+
+ ]}
+ description={
+ <>
+ It needs to be able to subtract 1 from
+ any number.
+ >
+ }
+ />
>
)
},
@@ -880,9 +916,11 @@ export default () => (
children: (
<>
- For example, can your lunchbox calculate{' '}
- ➖{' '}
- ?
+ For example:{' '}
+
+ Can your lunchbox calculate {' '}
+ ➖ ?
+
>
)
@@ -952,7 +990,8 @@ export default () => (
- You don’t have to follow all the steps!
+ You don’t have to follow all the steps with your
+ eyes!
{' '}
Just glance over it.
@@ -1083,11 +1122,13 @@ export default () => (
type: 'devil',
children: (
<>
- I didn’t think you’ll get it this easily
- But Saya is correct! Her lunchbox
- does reproduce !{' '}
- 🎉
+ Saya is correct!{' '}
+
+ Her lunchbox does reproduce{' '}
+ !{' '}
+ 🎉
+
>
)
@@ -1126,8 +1167,9 @@ export default () => (
children: (
<>
- No, I’m just lucky. But anyway, we’ve reproduced{' '}
- !
+ No, I’m just lucky. But anyway, we showed that{' '}
+ can be
+ reproduced using a lunchbox!
>
)
@@ -1301,7 +1343,7 @@ export default () => (
children: (
<>
- Well, but{' '}
+ But{' '}
I won’t give you back{' '}
yet.
diff --git a/src/contents/10.jp.tsx b/src/contents/10.jp.tsx
index 9d0f9ab19..ffca47f2c 100644
--- a/src/contents/10.jp.tsx
+++ b/src/contents/10.jp.tsx
@@ -679,6 +679,7 @@ export default () => (
が同じ になったよ!
+
前回と同じように
@@ -753,6 +754,8 @@ export default () => (
}}
/>
+
+
(
>
)
+const ReproduceWithNoNegativeMargin = () => (
+ <>
+
+
+ Repeat
+
+ times
+
+
+
+ Reproduce with
+
a lunchbox
+ >
+ }
+ />
+ >
+ }
+ right={
+ <>
+
+ Repeat
+
+ times
+
+
+
+ Reproduce with
+
a lunchbox
+ >
+ }
+ />
+ >
+ }
+ />
+ >
+)
+
export default () => (
(
)
},
{
+ type: 'summary',
title: (
<>
Review:
@@ -110,54 +160,19 @@ export default () => (
reproduce this using a lunchbox to
get it back.
-
-
- Repeat
-
- times
-
-
-
- Reproduce with
-
a lunchbox
- >
- }
- />
- >
- }
- right={
- <>
-
- Repeat
-
- times
-
-
-
- Reproduce with
-
a lunchbox
- >
- }
- />
- >
- }
- />
+
In case you forgot about ,
let’s do a quick review!
+
+ Let’s review !
+ >
+ }
+ />
Take a look at this mathbox and
:
@@ -167,6 +182,7 @@ export default () => (
)
},
{
+ type: 'summary',
title: (
<>It’s necessary for additions and subtractions of large numbers>
),
@@ -191,7 +207,7 @@ export default () => (
}
/>
- Example (from beginner 2):{' '}
+ Example (from Beginner 2):{' '}
If you don’t use ,
{' '}
@@ -264,9 +280,10 @@ export default () => (
/>
The villagers have been trying hard to reproduce{' '}
- using a lunchbox. However,
- looks like it’s not going well for them.
+ using a lunchbox.
+
+ However, looks like it’s not going well for them.
(
children: (
<>
- ? What’s that?
+
+ ? What’s that?
>
)
@@ -385,19 +405,24 @@ export default () => (
What’s this?
- It contains ,{' '}
- , and{' '}
- .
+
+ It contains ,{' '}
+ , and{' '}
+ .
+
- On the left, there are three signs:{' '}
- {' '}
- {' '}
-
+
+ On the left, there are three signs:{' '}
+ {' '}
+ {' '}
+
+
- It looks like a traffic signal 🚦…
+ It looks like a traffic signal{' '}
+ 🚦…
>
)
@@ -409,10 +434,11 @@ export default () => (
First:{' '}
- You can put any number on each of{' '}
+ You can fill each of{' '}
,{' '}
, and{' '}
- .
+ with any
+ number.
The numbers could be all the same or all different.
@@ -429,11 +455,11 @@ export default () => (
]}
description={
<>
- You can put any number on each of
+ You can fill each of
,{' '}
, and{' '}
-
+ with any number
>
}
/>
@@ -463,6 +489,8 @@ export default () => (
}
]}
/>
+
+
Used {' '}
for{' '}
@@ -669,8 +697,8 @@ export default () => (
<>
Question: If we{' '}
- , will it
- become like this?
+ it, will
+ it become like this?
>
)
@@ -707,7 +735,7 @@ export default () => (
.
-
+ :
>
)
@@ -723,14 +751,17 @@ export default () => (
<>
Let me explain why!
- First It checks if{' '}
- {' '}
- is .
+ First:{' '}
+
+ It checks if{' '}
+ {' '}
+ is .
+
>
)
@@ -745,23 +776,23 @@ export default () => (
children: (
<>
- This time,{' '}
+ This time:{' '}
- what’s in{' '}
+ What’s in{' '}
{' '}
- is not .
+ is NOT .
{' '}
Instead, it’s .
- In this case,{' '}
+ In this case:{' '}
- the number in{' '}
+ The number in{' '}
(
- If it’s not :
+ If it’s NOT :
{' '}
in{' '}
{' '}
@@ -914,7 +945,7 @@ export default () => (
You probably didn’t know this, but{' '}
is actually
- one of the secret features of a mathbox.
+ the secret feature of a mathbox.
>
@@ -931,8 +962,8 @@ export default () => (
]}
description={
<>
- It’s a secret feature of a mathbox{' '}
-
+ It’s the secret feature of a
+ mathbox
>
}
/>
@@ -954,7 +985,7 @@ export default () => (
In fact,{' '}
has been
- forgotten by most people,
+ forgotten by the people in Lambda Village,
{' '}
because it’s not a very useful feature.
@@ -1108,7 +1139,7 @@ export default () => (
Yes.{' '}
So you should first try to reproduce{' '}
- first.
+ .
diff --git a/src/contents/11.jp.tsx b/src/contents/11.jp.tsx
index 813fbbf40..3d4592563 100644
--- a/src/contents/11.jp.tsx
+++ b/src/contents/11.jp.tsx
@@ -50,6 +50,45 @@ export const FalseCaseExplanation = () => (
>
)
+const ReproduceWithNoNegativeMargin = () => (
+ <>
+
+
+ を {' '}
+ 回
+ 繰り返す
+
+
+ 弁当箱で再現>}
+ />
+ >
+ }
+ right={
+ <>
+
+ を{' '}
+ 回
+ 繰り返す
+
+
+ 弁当箱で再現>}
+ />
+ >
+ }
+ />
+ >
+)
+
export default () => (
(
)
},
{
+ type: 'summary',
title: (
<>
「
@@ -101,44 +141,20 @@ export default () => (
」は、まだ返してもらっていません。これを弁当箱で再現できないと返してもらえないのです。
-
-
- を{' '}
- 回
- 繰り返す
-
-
- 弁当箱で再現>}
- />
- >
- }
- right={
- <>
-
- を{' '}
- 回
- 繰り返す
-
-
- 弁当箱で再現>}
- />
- >
- }
- />
+
「
」について忘れてしまった方も多いと思うので、ここで復習をしましょう。
+
+ 「
+ 」の復習をしましょう!
+ >
+ }
+ />
まず、こちらの計算箱をご覧になり、
@@ -148,6 +164,7 @@ export default () => (
)
},
{
+ type: 'summary',
title: <>大きな数の足し算や引き算に役立つ>,
content: (
<>
@@ -243,8 +260,10 @@ export default () => (
ラムダ村の村人たちは、計算箱の「
」を 😈{' '}
- 悪魔から返してもらうべく、弁当箱で繰り返しの機能を再現しようと頑張っていました。しかし…
+ 悪魔から返してもらうべく、弁当箱で繰り返しの機能を再現しようと頑張っていました。
+
+ しかし、あまり上手くいってないようです。
(
}
]}
/>
+
+
{' '}
{' '}
diff --git a/src/contents/12.en.tsx b/src/contents/12.en.tsx
index 6191ed3c6..262ac9f70 100644
--- a/src/contents/12.en.tsx
+++ b/src/contents/12.en.tsx
@@ -56,10 +56,12 @@ export default () => (
children: (
<>
- Let’s review again: If{' '}
- is{' '}
- , then the result is{' '}
- …
+ Let’s review again:{' '}
+
+ If is{' '}
+ , then the result is{' '}
+ …
+
>
)
@@ -74,9 +76,12 @@ export default () => (
children: (
<>
- And, if is NOT{' '}
- , then the result is{' '}
- .
+ And:{' '}
+
+ If is NOT{' '}
+ , then the result is{' '}
+ .
+
>
)
@@ -234,8 +239,10 @@ export default () => (
children: (
<>
- The result is !
+ The result is a lunchbox that can be converted to{' '}
+ !
+
>
)
},
@@ -393,9 +400,10 @@ export default () => (
children: (
<>
- This time, the result is{' '}
- !
+ This time, the result is a lunchbox that can be
+ converted to !
+
>
)
},
@@ -483,7 +491,9 @@ export default () => (
👧🏻 Using a lunchbox!
- Question: Is this the correct answer?
+ Question: Is this the correct way to
+
+ reproduce it?
(
type: 'saya',
children: (
<>
- As a final check:
+
+ As a final check:
+
@@ -604,8 +616,10 @@ export default () => (
children: (
<>
- Let’s try the same thing with my lunchbox, and see if
- the result is also .
+
+ Let’s try the same thing with my lunchbox, and see if
+ the result is also .
+
@@ -642,7 +656,7 @@ export default () => (
If it becomes a lunchbox that can be
- converted to , then{' '}
+ converted to , then{' '}
success 🎉
@@ -653,15 +667,11 @@ export default () => (
children: (
<>
- I see, if the result is the same as using{' '}
- …
-
-
- We can be pretty sure that Saya’s lunchbox has{' '}
- reproduced{' '}
+ I see, if this works, we can be pretty sure that Saya’s
+ lunchbox has reproduced{' '}
correctly.
- Let’s check!
+ Let’s check!
>
)
}
@@ -743,8 +753,42 @@ export default () => (
/>
- Because the result is , it’s a
- success! 🎉
+ The result is ,{' '}
+
+ which is the same as using{' '}
+
+
+ .
+
+ >
+ )
+ }
+ ]}
+ />
+
+ If we use :
+
+
+
+
+ The result is
+
+
+ If we use 👧🏻 Saya’s lunchbox:
+
+
+
+
+ The result is also
+
+
+
+ So it’s a success! 🎉
>
)
@@ -915,6 +959,7 @@ export default () => (
name: 'repeatFeature'
}}
/>
+ ?
>
),
content: (
diff --git a/src/contents/12.jp.tsx b/src/contents/12.jp.tsx
index 1e57608a8..412971550 100644
--- a/src/contents/12.jp.tsx
+++ b/src/contents/12.jp.tsx
@@ -251,6 +251,7 @@ export default () => (
{' '}
に変換できる弁当箱が残った!
+
>
)
},
@@ -419,6 +420,7 @@ export default () => (
{' '}
に変換できる弁当箱が残った!
+
>
)
},
@@ -675,7 +677,7 @@ export default () => (
- に変換できる弁当箱
+ に変換できる弁当箱
になれば成功 🎉
@@ -779,7 +781,7 @@ export default () => (
が残ったので、
成功
- 🎉 です!
+ 🎉 だよ!
>
)
@@ -791,9 +793,34 @@ export default () => (
やったー、さすがサヤちゃん!
>
)
+ },
+ {
+ type: 'dog',
+ children: (
+ <>
+ すごい!まとめると、下のようになります!
+ >
+ )
}
]}
/>
+
+ 「
+ 」を使った場合:
+
+
+
+
+ 結果は になる
+
+
+ 👧🏻 サヤの弁当箱を使った場合:
+
+
+
+
+ 結果は になる
+
>
)
},
diff --git a/src/contents/14.en.tsx b/src/contents/14.en.tsx
index 6de4657cd..f7e699424 100644
--- a/src/contents/14.en.tsx
+++ b/src/contents/14.en.tsx
@@ -195,7 +195,8 @@ export default () => (
- You don’t have to follow all the steps!
+ You don’t have to follow all the steps with your
+ eyes!
{' '}
Just glance over it. Save your eyes!
diff --git a/src/contents/2.en.tsx b/src/contents/2.en.tsx
index 3b3505e66..0e3c7bc49 100644
--- a/src/contents/2.en.tsx
+++ b/src/contents/2.en.tsx
@@ -55,11 +55,11 @@ export const Conclusion = () => (
}}
/>
,{' '}
-
+
you’ll always use the correct number of
’s or
’s
-
+
. You can be confident that your additions and subtractions are accurate.
diff --git a/src/contents/7.en.tsx b/src/contents/7.en.tsx
index aa2a60a3a..95ac2efa3 100644
--- a/src/contents/7.en.tsx
+++ b/src/contents/7.en.tsx
@@ -652,8 +652,7 @@ export default () => (
content: (
<>
- Need a review?: To solve the above
- lunchbox,{' '}
+ Need a review? To solve the above lunchbox,{' '}
we’ll need to use the rules from{' '}
Beginner 5.
diff --git a/src/contents/8.en.tsx b/src/contents/8.en.tsx
index c50633d68..24977b7cd 100644
--- a/src/contents/8.en.tsx
+++ b/src/contents/8.en.tsx
@@ -25,7 +25,7 @@ import NextLessonButton from 'src/components/NextLessonButton'
import { Problem, StepOne, StepTwo, StepThree } from 'src/contents/7.en'
import CardContent from 'src/components/CardContent'
-export const BlankNumberPlusOne = () => (
+const BlankNumberPlusOne = () => (
<>
Combine 👧🏻 Saya’s lunchbox
@@ -45,6 +45,23 @@ export const BlankNumberPlusOne = () => (
>
)
+export const ReproducePlusOne = () => (
+ <>
+
+ In a mathbox, we use
+
+
+
+ In a lunchbox, we use
+
+ 👧🏻 Saya’s lunchbox to{' '}
+ reproduce
+
+ .
+
+ >
+)
+
export default () => (
(
}
]}
/>
-
- In a mathbox, we use
-
-
-
- In a lunchbox, we use
-
- 👧🏻 Saya’s lunchbox to{' '}
- reproduce
-
- .
-
+
>
)
},
diff --git a/src/contents/9.en.tsx b/src/contents/9.en.tsx
index 6a4df5996..7fb2c4240 100644
--- a/src/contents/9.en.tsx
+++ b/src/contents/9.en.tsx
@@ -24,7 +24,7 @@ import BottomRightBadge from 'src/components/BottomRightBadge'
import TwoColGrid from 'src/components/TwoColGrid'
import * as R from 'src/components/Runners'
import NextLessonButton from 'src/components/NextLessonButton'
-import { BlankNumberPlusOne } from 'src/contents/8.en'
+import { ReproducePlusOne } from 'src/contents/8.en'
export const SpecialRule = () => (
<>
@@ -54,12 +54,14 @@ export default () => (
content: (
<>
- On the last page, we learned that: By using{' '}
- 👧🏻 Saya’s lunchbox, we can{' '}
- reproduce{' '}
- of a mathbox.
+ On the last page, we learned that,{' '}
+
+ by using 👧🏻 Saya’s lunchbox, we can{' '}
+ reproduce{' '}
+ of a mathbox.
+
-
+
That’s it for the quick review. Let’s continue!
@@ -214,7 +216,7 @@ export default () => (
children: (
<>
- Why?: Because it doesn’t follow this
+ Why not? Because it doesn’t follow this
pattern.
@@ -226,9 +228,11 @@ export default () => (
/>
- There needs to be exactly one 🅱️ on the
- top-right, but there are two in this
- case.
+
+ There needs to be exactly one 🅱️ on the
+ top-right, but there are two in this
+ case.
+
>
)
@@ -457,7 +461,8 @@ export default () => (
- In this case, is in both{' '}
+ In this case, {' '}
+ is in both{' '}
(
Here’s a simple example:
- The left lunchbox has different{' '}
+ The left lunchbox has different{' '}
(
.
- The right lunchbox has the same{' '}
+ The right lunchbox has the same{' '}
(
.
- This failed because was in
- both{' '}
+ This failed because{' '}
+ was in both{' '}
(
Couldn’t calculate ➕{' '}
- because was in both{' '}
+ because was in both{' '}
and{' '}
,
@@ -919,9 +924,9 @@ export default () => (
-
+
Change one of them to something different.
-
+
>
@@ -948,7 +953,11 @@ export default () => (
/> and{' '}
,
- change one of them to something different
+
+ change one of them to
+
+ something different
+
>
}
/>
@@ -1050,7 +1059,8 @@ export default () => (
inline
bottomRightBadgeType="funcUnbound"
/>
- … (in this case: )
+ … (in this case:{' '}
+ )
>
)
@@ -1065,13 +1075,15 @@ export default () => (
children: (
<>
- Because of this special rule: The{' '}
- in{' '}
- {' '}
- will now become something else.
+ Because of this special rule:{' '}
+
+ The in{' '}
+ {' '}
+ will now become something else.
+
(
children: (
<>
+
+ on the top
+ became !
+
+
+
+ And{' '}
(
children: (
<>
- Let’s continue then!
+ Yes. Let’s continue then!{' '}
+
>
)
@@ -1235,7 +1255,8 @@ export default () => (
content: (
<>
- If you combine 👧🏻 Saya’s lunchbox which reproduces{' '}
+ What we learned: If you combine 👧🏻{' '}
+ Saya’s lunchbox which reproduces{' '}
…
@@ -1257,9 +1278,9 @@ export default () => (
/>
- Then, there will be the same item (
+ Then: There will be the same item (
-
+
) in both{' '}
and{' '}
@@ -1272,7 +1293,7 @@ export default () => (
-
+
{' '}
is in both{' '}
and{' '}
@@ -1299,6 +1320,8 @@ export default () => (
in this case:
+
+
By doing this, it will be able to calculate{' '}
diff --git a/src/contents/9.jp.tsx b/src/contents/9.jp.tsx
index e4bd323e5..0a2b499fd 100644
--- a/src/contents/9.jp.tsx
+++ b/src/contents/9.jp.tsx
@@ -1294,6 +1294,8 @@ export default () => (
+
+
これにより、正しく ➕{' '}
diff --git a/src/lib/runners/zjto.json b/src/lib/runners/zjto.json
new file mode 100644
index 000000000..26a4f37e7
--- /dev/null
+++ b/src/lib/runners/zjto.json
@@ -0,0 +1,181 @@
+{
+ "expressionContainers": [
+ {
+ "expression": {
+ "arg": {
+ "name": "b",
+ "highlightType": "default",
+ "topLeftBadgeType": "none",
+ "bottomRightBadgeType": "none",
+ "type": "variable",
+ "argPriorityAgg": [],
+ "funcPriorityAgg": [],
+ "emphasizePriority": false,
+ "bound": false,
+ "maxNestedFunctionDepth": 0
+ },
+ "body": {
+ "arg": {
+ "name": "c",
+ "highlightType": "default",
+ "topLeftBadgeType": "none",
+ "bottomRightBadgeType": "none",
+ "type": "variable",
+ "argPriorityAgg": [],
+ "funcPriorityAgg": [],
+ "emphasizePriority": false,
+ "bound": false,
+ "maxNestedFunctionDepth": 0
+ },
+ "body": {
+ "arg": {
+ "arg": {
+ "name": "f",
+ "highlightType": "highlighted",
+ "topLeftBadgeType": "conflict",
+ "bottomRightBadgeType": "callArg",
+ "type": "variable",
+ "argPriorityAgg": [
+ 1
+ ],
+ "funcPriorityAgg": [],
+ "emphasizePriority": true,
+ "bound": false,
+ "maxNestedFunctionDepth": 0
+ },
+ "body": {
+ "name": "f",
+ "highlightType": "highlighted",
+ "topLeftBadgeType": "conflict",
+ "bottomRightBadgeType": "callArg",
+ "type": "variable",
+ "argPriorityAgg": [],
+ "funcPriorityAgg": [],
+ "emphasizePriority": false,
+ "bound": true,
+ "maxNestedFunctionDepth": 0
+ },
+ "type": "function",
+ "maxNestedFunctionDepth": 1
+ },
+ "func": {
+ "arg": {
+ "name": "e",
+ "highlightType": "active",
+ "topLeftBadgeType": "none",
+ "bottomRightBadgeType": "funcArg",
+ "type": "variable",
+ "argPriorityAgg": [],
+ "funcPriorityAgg": [
+ 1
+ ],
+ "emphasizePriority": true,
+ "bound": false,
+ "maxNestedFunctionDepth": 0
+ },
+ "body": {
+ "arg": {
+ "arg": {
+ "name": "b",
+ "highlightType": "active",
+ "topLeftBadgeType": "none",
+ "bottomRightBadgeType": "funcBound",
+ "type": "variable",
+ "argPriorityAgg": [
+ 1,
+ 2
+ ],
+ "funcPriorityAgg": [],
+ "emphasizePriority": false,
+ "bound": true,
+ "maxNestedFunctionDepth": 0
+ },
+ "func": {
+ "arg": {
+ "name": "f",
+ "highlightType": "highlighted",
+ "topLeftBadgeType": "conflict",
+ "bottomRightBadgeType": "funcUnbound",
+ "type": "variable",
+ "argPriorityAgg": [],
+ "funcPriorityAgg": [
+ 2
+ ],
+ "emphasizePriority": false,
+ "bound": false,
+ "maxNestedFunctionDepth": 0
+ },
+ "body": {
+ "name": "c",
+ "highlightType": "active",
+ "topLeftBadgeType": "none",
+ "bottomRightBadgeType": "funcBound",
+ "type": "variable",
+ "argPriorityAgg": [],
+ "funcPriorityAgg": [],
+ "emphasizePriority": false,
+ "bound": true,
+ "maxNestedFunctionDepth": 0
+ },
+ "type": "function",
+ "maxNestedFunctionDepth": 1
+ },
+ "state": "default",
+ "type": "call",
+ "priority": 2,
+ "maxNestedFunctionDepth": 1
+ },
+ "func": {
+ "name": "e",
+ "highlightType": "active",
+ "topLeftBadgeType": "none",
+ "bottomRightBadgeType": "funcBound",
+ "type": "variable",
+ "argPriorityAgg": [],
+ "funcPriorityAgg": [
+ 1
+ ],
+ "emphasizePriority": false,
+ "bound": true,
+ "maxNestedFunctionDepth": 0
+ },
+ "state": "default",
+ "type": "call",
+ "priority": 1,
+ "maxNestedFunctionDepth": 1
+ },
+ "type": "function",
+ "maxNestedFunctionDepth": 2
+ },
+ "state": "needsAlphaConvert",
+ "type": "call",
+ "priority": 1,
+ "maxNestedFunctionDepth": 2
+ },
+ "type": "function",
+ "maxNestedFunctionDepth": 3
+ },
+ "type": "function",
+ "maxNestedFunctionDepth": 4
+ },
+ "previouslyChangedExpressionState": "needsAlphaConvert",
+ "activePriority": 1,
+ "containerState": "stepped",
+ "numLeafNodes": 4
+ }
+ ],
+ "speed": 1,
+ "hideControls": true,
+ "explanationsVisibility": "visible",
+ "hidePriorities": false,
+ "hideRunButton": false,
+ "hideBottomRightBadges": false,
+ "skipToTheEnd": false,
+ "hideFuncUnboundBadgeOnExplanation": false,
+ "highlightOverridesCallArgAndFuncUnboundOnly": false,
+ "bottomRightBadgeOverrides": {},
+ "highlightOverrides": {},
+ "highlightOverrideActiveAfterStart": false,
+ "highlightFunctions": false,
+ "showBottomProgressBar": false
+}