pub struct QuizSession {
pub questions: Vec<Question>,
pub answers: Vec<Option<u8>>,
pub current_index: usize,
}Expand description
A quiz session that tracks progress and scoring.
Fields§
§questions: Vec<Question>§answers: Vec<Option<u8>>§current_index: usizeImplementations§
Source§impl QuizSession
impl QuizSession
Sourcepub fn new(config: QuizConfig) -> Self
pub fn new(config: QuizConfig) -> Self
Create a new session from config.
Sourcepub fn current_question(&self) -> Option<Question>
pub fn current_question(&self) -> Option<Question>
Get the current question (None if finished).
Sourcepub fn answer(&mut self, choice: u8) -> AnswerResult
pub fn answer(&mut self, choice: u8) -> AnswerResult
Submit answer for current question, advance to next.
Sourcepub fn skip(&mut self) -> bool
pub fn skip(&mut self) -> bool
Skip current question, advance to next. Returns false if already finished.
Sourcepub fn is_finished(&self) -> bool
pub fn is_finished(&self) -> bool
Is the quiz finished?
Trait Implementations§
Source§impl Clone for QuizSession
impl Clone for QuizSession
Source§fn clone(&self) -> QuizSession
fn clone(&self) -> QuizSession
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for QuizSession
impl Debug for QuizSession
Source§impl<'de> Deserialize<'de> for QuizSession
impl<'de> Deserialize<'de> for QuizSession
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for QuizSession
impl RefUnwindSafe for QuizSession
impl Send for QuizSession
impl Sync for QuizSession
impl Unpin for QuizSession
impl UnsafeUnpin for QuizSession
impl UnwindSafe for QuizSession
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more