💠آیا از Hello World رنج میبرید؟💠
همیشه اولین درس هر زبانی چاپ عبارت Hello World است.
این کار بعد از مدتی که زبانهای مختلفی رو تست میکنید دیگه کسالتآور میشه و بار آموزشی بخصوصی هم نداره.
اما با یکم خلاقیت میشه هم بار آموزشیاش رو بالا برد و هم یکم فانش کرد.
با اضافه کردن آرایه و یک لوپ ساده، خیلی بهتر میشه با سازوکار یک زبان تازه آشنا شد.
🔸مثال: C
#include <stdio.h>
int main() {
char* colors[] = {
"\033[30;41m", // Red
"\033[30;42m", // Green
"\033[30;43m", // Yellow
"\033[30;44m", // Blue
"\033[30;45m", // Magenta
"\033[30;46m", // Cyan
};
int num_colors = sizeof(colors) / sizeof(colors[0]);
for(int i = 0; i < num_colors; i++) {
printf("%sHello, World!\n", colors[i]);
}
printf("\033[0m");
return 0;
}
🔸مثال ۲: Bash
#!/usr/bin/env bash
colors=(
"\033[0;31m" # Red
"\033[0;32m" # Green
"\033[0;33m" # Yellow
"\033[0;34m" # Blue
"\033[0;35m" # Magenta
"\033[0;36m" # Cyan
)
for i in "${colors[@]}"
do
printf "%bHello, World!%b\n" "$i" "\033[0m"
done
حالا وقتی سراغ یک زبان فوقالعاده متفاوتی مثل هسکل میریم.
با این رویه خیلی بهتر و سریعتر با سازوکار این زبان آشنا میشیم.
🔸مثال ۳: Haskell
import System.Console.ANSI (setSGR, SGR(..), ConsoleLayer(..), ColorIntensity(..), Color(..), setSGRCode)
import Control.Monad (forM_)
main :: IO ()
main = do
let colors = [ (SetColor Foreground Dull Red)
, (SetColor Foreground Dull Green)
, (SetColor Foreground Dull Yellow)
, (SetColor Foreground Dull Blue)
, (SetColor Foreground Dull Magenta)
, (SetColor Foreground Dull Cyan)
]
forM_ colors $ \color -> do
setSGR [color]
putStrLn "Hello, World!"
setSGR [Reset]
#آموزش #نکته