Zamiana liter na wielkie w łańcuchu znaków

Fish Shell:
Zamiana liter na wielkie w łańcuchu znaków

Jak to zrobić:

W Fish Shell, ciągi znaków mogą być manipulowane bezpośrednio za pomocą wbudowanych funkcji, bez potrzeby używania zewnętrznych narzędzi czy bibliotek. Aby uczynić pierwszą literę ciągu wielką, możesz połączyć polecenie string z podpoleceniami.

# Przykładowy ciąg znaków
set sample_string "hello world"

# Zmiana pierwszej litery na wielką
set capitalized_string (string sub -l 1 -- $sample_string | string upper)(string sub -s 2 -- $sample_string)

echo $capitalized_string

Wyjście:

Hello world

W scenariuszach wymagających zmiany wielkości liter wielu słów w ciągu (np. zmiana “hello world” na “Hello World”) należałoby iterować przez każde słowo, stosując logikę zmiany wielkości liter do każdego z nich:

# Przykładowe zdanie
set sentence "hello fish shell programming"

# Zmiana pierwszej litery każdego słowa na wielką
set capitalized_words (string split " " -- $sentence | while read -l word; string sub -l 1 -- $word | string upper; and string sub -s 2 -- $word; end)

# Łączenie słów z wielką literą
set capitalized_sentence (string join " " -- $capitalized_words)

echo $capitalized_sentence

Wyjście:

Hello Fish Shell Programming

Warto zauważyć, że Fish Shell nie oferuje bezpośredniej metody do zrobienia pełnej kapitalizacji zdania jednym poleceniem, w taki sposób, jak niektóre języki programowania robią to za pomocą swoich metod pracujących na ciągach znaków. Dlatego połączenie string split, string sub, string upper, a następnie ponowne łączenie reprezentuje idiomatyczne podejście w Fish Shell do osiągnięcia tego.