@@ -208,8 +208,10 @@ function equal_rat(x, y) {
208
208
<!--
209
209
\indprim*{cons}
210
210
\ind*{primitive
211
- <SPLITINLINE><SCHEME>procedures</SCHEME><JAVASCRIPT>functions</JAVASCRIPT></SPLITINLINE>
212
- (those marked <EM>ns</EM> are not in the IEEE Scheme standard)}[cons@<SCHEMEINLINE>cons</SCHEMEINLINE>]
211
+ <SPLITINLINE><SCHEME>procedures</SCHEME>
212
+ <JAVASCRIPT>functions</JAVASCRIPT></SPLITINLINE>
213
+ (those marked <EM>ns</EM> are not in the IEEE Scheme
214
+ standard)}[cons@<SCHEMEINLINE>cons</SCHEMEINLINE>]
213
215
-->
214
216
<SPLITINLINE >
215
217
<SCHEME >
@@ -298,12 +300,13 @@ function equal_rat(x, y) {
298
300
(define x (cons 1 2))
299
301
</SCHEME >
300
302
<JAVASCRIPT >
301
- const x = pair(1,2);
303
+ const x = pair(1, 2);
302
304
</JAVASCRIPT >
303
305
</SNIPPET >
304
306
305
307
<SNIPPET PAGE =" 85" >
306
308
<NAME >cons_1_2_example</NAME >
309
+ <EXPECTED >1</EXPECTED >
307
310
<REQUIRES >cons_1_2</REQUIRES >
308
311
<SCHEME >
309
312
(car x)
@@ -321,6 +324,7 @@ head(x);
321
324
322
325
<SNIPPET PAGE =" 85" >
323
326
<NAME >cons_1_2_example2</NAME >
327
+ <EXPECTED >2</EXPECTED >
324
328
<REQUIRES >cons_1_2</REQUIRES >
325
329
<SCHEME >
326
330
(cdr x)
@@ -354,13 +358,14 @@ tail(x);
354
358
(define z (cons x y))
355
359
</SCHEME >
356
360
<JAVASCRIPT >
357
- const x = pair(1,2);
358
- const y = pair(3,4);
359
- const z = pair(x,y);
361
+ const x = pair(1, 2);
362
+ const y = pair(3, 4);
363
+ const z = pair(x, y);
360
364
</JAVASCRIPT >
361
365
</SNIPPET >
362
366
<SNIPPET PAGE =" 85" >
363
367
<NAME >cons_1_2_3_4_example</NAME >
368
+ <EXPECTED >1</EXPECTED >
364
369
<REQUIRES >cons_1_2_3_4</REQUIRES >
365
370
<SCHEME >
366
371
(car (car z))
@@ -377,6 +382,7 @@ head(head(z));
377
382
</SNIPPET >
378
383
<SNIPPET PAGE =" 85" >
379
384
<NAME >cons_1_2_3_4_example2</NAME >
385
+ <EXPECTED >3</EXPECTED >
380
386
<REQUIRES >cons_1_2_3_4</REQUIRES >
381
387
<SCHEME >
382
388
(car (cdr z))
@@ -539,6 +545,7 @@ const denom = tail;
539
545
540
546
<SNIPPET PAGE =" 86" >
541
547
<NAME >make_rat2</NAME >
548
+ <EXPECTED >2</EXPECTED >
542
549
<EXAMPLE >rat_example_1</EXAMPLE >
543
550
<SCHEME >
544
551
(define (make-rat n d) (cons n d))
@@ -652,7 +659,7 @@ const one_half = make_rat(1, 2);
652
659
print_rat(one_half);
653
660
</JAVASCRIPT >
654
661
<JAVASCRIPT_OUTPUT >
655
- 1/2
662
+ " 1/2"
656
663
</JAVASCRIPT_OUTPUT >
657
664
</SNIPPET >
658
665
</TEXT >
@@ -665,6 +672,7 @@ print_rat(one_half);
665
672
</SPLITINLINE >
666
673
<SNIPPET PAGE =" 86" >
667
674
<NAME >print_rat_example</NAME >
675
+ <EXPECTED >[ 1, 2 ]</EXPECTED >
668
676
<REQUIRES >make_rat2</REQUIRES >
669
677
<REQUIRES >print_rat</REQUIRES >
670
678
<SCHEME >
@@ -680,8 +688,13 @@ const one_half = make_rat(1, 2);
680
688
681
689
print_rat(one_half);
682
690
</JAVASCRIPT >
691
+ <JAVASCRIPT_TEST >
692
+ const one_half = make_rat(1, 2);
693
+
694
+ one_half;
695
+ </JAVASCRIPT_TEST >
683
696
<JAVASCRIPT_OUTPUT >
684
- 1/2
697
+ " 1/2"
685
698
</JAVASCRIPT_OUTPUT >
686
699
</SNIPPET >
687
700
<SNIPPET EVAL =" no" PAGE =" 86" HIDE =" yes" >
@@ -705,6 +718,7 @@ const one_third = make_rat(1, 3);
705
718
706
719
<SNIPPET PAGE =" 87" >
707
720
<NAME >print_rat_example2</NAME >
721
+ <EXPECTED >[ 5, 6 ]</EXPECTED >
708
722
<REQUIRES >add_rat</REQUIRES >
709
723
<REQUIRES >one_half</REQUIRES >
710
724
<REQUIRES >one_third</REQUIRES >
@@ -718,12 +732,16 @@ const one_third = make_rat(1, 3);
718
732
<JAVASCRIPT >
719
733
print_rat(add_rat(one_half, one_third));
720
734
</JAVASCRIPT >
735
+ <JAVASCRIPT_TEST >
736
+ add_rat(one_half, one_third);
737
+ </JAVASCRIPT_TEST >
721
738
<JAVASCRIPT_OUTPUT >
722
- 5/6
739
+ " 5/6"
723
740
</JAVASCRIPT_OUTPUT >
724
741
</SNIPPET >
725
742
<SNIPPET PAGE =" 87" >
726
743
<NAME >print_rat_example3</NAME >
744
+ <EXPECTED >[ 1, 6 ]</EXPECTED >
727
745
<REQUIRES >add_rat</REQUIRES >
728
746
<REQUIRES >one_half</REQUIRES >
729
747
<REQUIRES >one_third</REQUIRES >
@@ -737,12 +755,16 @@ print_rat(add_rat(one_half, one_third));
737
755
<JAVASCRIPT >
738
756
print_rat(mul_rat(one_half, one_third));
739
757
</JAVASCRIPT >
758
+ <JAVASCRIPT_TEST >
759
+ mul_rat(one_half, one_third);
760
+ </JAVASCRIPT_TEST >
740
761
<JAVASCRIPT_OUTPUT >
741
- 1/6
762
+ " 1/6"
742
763
</JAVASCRIPT_OUTPUT >
743
764
</SNIPPET >
744
765
<SNIPPET PAGE =" 87" >
745
766
<NAME >print_rat_example4</NAME >
767
+ <EXPECTED >[ 6, 9 ]</EXPECTED >
746
768
<REQUIRES >add_rat</REQUIRES >
747
769
<REQUIRES >one_third</REQUIRES >
748
770
<REQUIRES >print_rat</REQUIRES >
@@ -755,8 +777,11 @@ print_rat(mul_rat(one_half, one_third));
755
777
<JAVASCRIPT >
756
778
print_rat(add_rat(one_third, one_third));
757
779
</JAVASCRIPT >
780
+ <JAVASCRIPT_TEST >
781
+ add_rat(one_third, one_third);
782
+ </JAVASCRIPT_TEST >
758
783
<JAVASCRIPT_OUTPUT >
759
- 6/9
784
+ " 6/9"
760
785
</JAVASCRIPT_OUTPUT >
761
786
</SNIPPET >
762
787
</TEXT >
@@ -797,6 +822,7 @@ function denom(x) {
797
822
</SNIPPET >
798
823
<SNIPPET PAGE =" 87" >
799
824
<NAME >make_rat_3</NAME >
825
+ <EXPECTED >[ 2, 3 ]</EXPECTED >
800
826
<REQUIRES >numer</REQUIRES >
801
827
<EXAMPLE >make_rat_3_example_1</EXAMPLE >
802
828
<REQUIRES >gcd_definition</REQUIRES >
@@ -836,7 +862,7 @@ make_rat(4, 6);
836
862
print_rat(add_rat(one_third, one_third));
837
863
</JAVASCRIPT >
838
864
<JAVASCRIPT_OUTPUT >
839
- 2/3
865
+ " 2/3"
840
866
</JAVASCRIPT_OUTPUT >
841
867
</SNIPPET >
842
868
<SNIPPET PAGE =" 84" HIDE =" yes" >
@@ -926,6 +952,7 @@ function equal_rat(x, y) {
926
952
negative, only the numerator is negative.
927
953
<SOLUTION >
928
954
<SNIPPET >
955
+ <EXPECTED >[ -3, 4 ]</EXPECTED >
929
956
<REQUIRES >abs_definition</REQUIRES >
930
957
<REQUIRES >gcd_definition</REQUIRES >
931
958
<EXAMPLE >example_2.1</EXAMPLE >
0 commit comments