Async and Practical
Path Join Lite
A tiny path helper: join('/') glues a list of segments into one string, and split('/') reverses it. Taking segments.last pulls the final piece, which is the file name in a typical path.
Program
Play the program to join three segments into a path and pull the file name back out.
path_join_lite.dart
Replay: real traced execution (multi-file project)
void main() {
var parts = ['logs', '2026', 'app.txt'];
var path = parts.join('/');
var segments = path.split('/');
var name = segments.last;
print('$path | $name');
}
parts ← [logs, 2026, app.txt]
1void main() {2 var parts = ['logs', '2026', 'app.txt'];3 var path = parts.join('/');values this step[logs, 2026, app.txt]partspath ← logs/2026/app.txt
2var parts = ['logs', '2026', 'app.txt'];3var path = parts.join('/');4var segments = path.split('/');values this steplogs/2026/app.txtpath[logs, 2026, app.txt]partssegments ← [logs, 2026, app.txt]
3var path = parts.join('/');4var segments = path.split('/');5var name = segments.last;values this step[logs, 2026, app.txt]segmentslogs/2026/app.txtpathname ← app.txt
4var segments = path.split('/');5var name = segments.last;6print('$path | $name');values this stepapp.txtname[logs, 2026, app.txt]segmentsprint('$path | $name');
5 var name = segments.last;6 print('$path | $name');7}outputlogs/2026/app.txt | app.txtvalues this steplogs/2026/app.txtpathapp.txtname
join
`parts.join('/')` glues a list of segments into one path string.
split
`path.split('/')` reverses the join, returning the original segments.
last
`segments.last` returns the final element, which is the file name in a typical path.