What would scheme display? tokens = tokenize_lines([\"(+ 1 \", \"(23 4)) (\"]) >
ID: 3919469 • Letter: W
Question
What would scheme display?
tokens = tokenize_lines(["(+ 1 ", "(23 4)) ("])
>>> src = Buffer(tokens)
>>> src.current()
>>> src.remove_front()
# locked
>>> src.current()
# locked
>>> src.remove_front()
# locked
>>> src.remove_front()
# locked
>>> scheme_read(src) # Returns and removes the next complete expression in src
# locked
>>> src.current()
# locked
>>> scheme_read(Buffer(tokenize_lines(['(18 6)'])))
# locked
>>> read_line('(18 6)') # Shorter version of above!
# locked
>>> read_tail(Buffer(tokenize_lines([')'])))
c24ff8c9a7d7a50f82648d25a4d8fbb1
# locked
>>> read_tail(Buffer(tokenize_lines(['1 2 3)'])))
# locked
>>> read_tail(Buffer(tokenize_lines(['2 (3 4))'])))
# locked
Need answer for the locked part
Explanation / Answer
tokens = tokenize_lines(["(+ 1 ", "(23 4)) ("])
>>> src = Buffer(tokens)
# The above line of code will be generate the scheme string as (+ 1 (23 4))
# When you typing the src.current() it will return the first character in string
# so in this case it will be (
>>> src.current()
(
>>> src.remove_front()
# src.remove_front() will remove the first character in scheme
(
>>> src.current()
+
>>> src.remove_front()
+
>>> src.remove_front()
1
>>> scheme_read(src) # Returns and removes the next complete expression in src
(23 4)
>>> src.current()
(
>>> scheme_read(Buffer(tokenize_lines(['(18 6)'])))
(18 6)
>>> read_line('(18 6)') # Shorter version of above!
(18 6)
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.