Code Explainers
Code explainers tagged #recursion
java
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;
Building a trie for autocomplete in Java
trie
prefix-tree
recursion
Intermediate
8 steps
ruby
class KeyTransformer def self.camelize(data) new.camelize(data) end
Recursively camelizing nested Ruby data
recursion
data-transformation
pattern-matching
Intermediate
7 steps
ruby
require "yaml" class FrontMatter DELIMITER = /\A---\s*\n(.*?)\n---\s*\n?(.*)\z/m
Parsing YAML front matter in Ruby
parsing
regular-expressions
yaml
Intermediate
8 steps
javascript
const FRONTMATTER_RE = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/; function coerce(value) { const trimmed = value.trim();
Parsing YAML-style frontmatter in JavaScript
parsing
regular-expressions
type-coercion
Intermediate
9 steps
java
package com.example.validation; import java.util.List; import java.util.stream.Collectors;
Validating JSON payloads against a schema in Java
json-schema
validation
recursion
Intermediate
8 steps
python
from typing import Any _MISSING = object()
Recursively diffing two JSON structures
recursion
sentinel
tree-traversal
Intermediate
8 steps
php
<?php namespace App\Support;
Recursively finding files with SPL iterators in PHP
recursion
iterators
filesystem
Intermediate
7 steps
typescript
type DeepPartial<T> = T extends object ? { [K in keyof T]?: DeepPartial<T[K]> } : T;
Type-safe deep merge in TypeScript
recursion
conditional-types
mapped-types
Advanced
7 steps
python
from copy import deepcopy from typing import Any, Mapping
How a recursive deep merge works in Python
recursion
immutability
dictionaries
Intermediate
6 steps
javascript
function deepFreeze(obj) { const propNames = Reflect.ownKeys(obj); for (const name of propNames) {
Recursively freezing a nested object
recursion
immutability
object-freezing
Intermediate
6 steps
go
package fsutil import ( "io/fs"
Walking a directory tree to find large files in Go
filesystem
recursion
closures
Intermediate
7 steps
ruby
module DeepImmutable module_function def deep_freeze(obj)
Deep-freezing config with recursive immutability
immutability
recursion
deep-copy
Intermediate
8 steps
ruby
class QueryParser def self.parse(query_string) new(query_string).parse end
Parsing nested query strings in Ruby
parsing
recursion
tokenization
Intermediate
9 steps
ruby
require "yaml" require "pathname" class AppConfig
A typed config loader in Ruby
yaml
configuration
recursion
Intermediate
8 steps
rust
use std::collections::HashMap; #[derive(Debug, Clone)] struct Row {
Building a tree from flat parent-id rows in Rust
recursion
hashmap
tree-building
Intermediate
6 steps
php
function deepMerge(array $defaults, array $overrides): array { foreach ($overrides as $key => $value) { if (
Recursively merging nested config arrays in PHP
recursion
arrays
configuration
Intermediate
6 steps
typescript
type Curried<A extends any[], R> = A extends [infer First, ...infer Rest] ? (arg: First) => Rest extends [] ? R : Curried<Rest, R> : R;
Type-safe currying in TypeScript
currying
conditional-types
recursion
Advanced
8 steps
php
<?php function buildTree(array $items, ?int $parentId = null): array {
Building a tree from a flat list in PHP
recursion
tree
grouping
Intermediate
6 steps