(&self, index: &Box<dyn Value>)
| 87 | } |
| 88 | |
| 89 | fn index_op(&self, index: &Box<dyn Value>) -> Result<Box<dyn Value>, String> { |
| 90 | if let Some(index) = index.as_any().downcast_ref::<IntValue>() { |
| 91 | if (index.value < 1) || (index.value as usize > self.values.len()) { |
| 92 | return Err("Array Index must be between 1 and length of Array".to_string()); |
| 93 | } |
| 94 | |
| 95 | let array_index = (index.value - 1) as usize; |
| 96 | return Ok(self.values[array_index].clone()); |
| 97 | } |
| 98 | Err("Unexpected Array Index type".to_string()) |
| 99 | } |
| 100 | |
| 101 | fn slice_op( |
| 102 | &self, |
no test coverage detected