Code Explainers
Code explainers tagged #iterators
rust
use std::f64::consts::PI; #[derive(Debug, Clone, Copy)] pub struct LatLng {
Building geographic bounding boxes in Rust
geospatial
value-types
option
Intermediate
7 steps
rust
use chrono::{Duration, NaiveDate}; #[derive(Debug)] pub struct DateRange {
Parsing and iterating date ranges in Rust
error-handling
iterators
parsing
Intermediate
7 steps
rust
use axum::{ extract::{FromRef, FromRequestParts, State}, http::{header::ACCEPT_LANGUAGE, request::Parts, StatusCode}, response::{IntoResponse, Response},
A custom Accept-Language extractor in Axum
extractors
internationalization
http-headers
Advanced
8 steps
rust
pub fn extract_quoted_fields(line: &str) -> Vec<String> { let mut fields = Vec::new(); let mut current = String::new(); let mut in_quotes = false;
Parsing quoted fields with a state machine in Rust
state-machine
parsing
string-processing
Intermediate
7 steps
rust
use std::fs::File; use std::io::{self, BufRead, BufReader}; use std::path::Path;
Streaming lines from a gzip file in Rust
iterators
io-streaming
decompression
Intermediate
6 steps
rust
use std::collections::BTreeSet; #[derive(Debug)] pub enum FieldError {
Parsing a cron field in Rust
parsing
error-handling
enums
Intermediate
7 steps
javascript
class LRUCache { constructor(capacity) { if (capacity < 1) throw new RangeError('capacity must be positive'); this.capacity = capacity;
Building an LRU cache with a JS Map
lru-cache
data-structures
insertion-order
Intermediate
8 steps
rust
use itertools::Itertools; use std::cmp::Ordering; #[derive(Debug, Clone)]
Merging sorted event streams with itertools
iterators
merge
deduplication
Intermediate
7 steps
typescript
interface RunningStats { count: number; total: number; average: number;
Streaming running averages in TypeScript
generators
streaming
incremental-aggregation
Intermediate
6 steps
python
from itertools import cycle from collections import defaultdict
Round-robin task distribution in Python
round-robin
iterators
load-balancing
Intermediate
6 steps
rust
pub fn normalize_path(input: &str) -> String { let is_absolute = input.starts_with('/'); let has_trailing_slash = input.len() > 1 && input.ends_with('/'); let mut stack: Vec<&str> = Vec::new();
Normalizing filesystem paths in Rust
string-processing
stack
path-manipulation
Intermediate
8 steps
rust
use once_cell::sync::Lazy; use regex::Regex; static NON_ALPHANUMERIC: Lazy<Regex> = Lazy::new(|| Regex::new(r"[^a-z0-9]+").unwrap());
Building URL slugs in Rust
string-processing
regex
transliteration
Intermediate
8 steps
rust
#[derive(Debug, Clone, PartialEq)] pub enum Token { Number(f64), Plus,
How a tokenizer turns text into tokens
lexing
enums
iterators
Intermediate
8 steps
rust
use std::collections::HashMap; #[derive(Debug)] pub struct RequestHead {
Parsing an HTTP request head in Rust
parsing
error-handling
iterators
Intermediate
9 steps
rust
use std::collections::HashMap; fn decode_component(input: &str) -> String { let bytes = input.as_bytes();
Parsing a URL query string in Rust
url-encoding
byte-parsing
iterators
Intermediate
8 steps
rust
#[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum FileKind { Png, Jpeg,
Detecting file types by magic bytes in Rust
pattern-matching
byte-slices
lookup-table
Intermediate
7 steps
php
<?php namespace App\Support;
Recursively finding files with SPL iterators in PHP
recursion
iterators
filesystem
Intermediate
7 steps
rust
use axum::{ extract::FromRequestParts, http::{request::Parts, StatusCode, header::ACCEPT_LANGUAGE}, };
A locale extractor for Axum handlers
content-negotiation
http-headers
custom-extractor
Intermediate
7 steps