Elm:
ייצור מספרים אקראיים
איך לעשות:
הטבע הפונקציונלי הטהור של Elm אומר שאי אפשר לייצר מספרים אקראיים ישירות כפי שאולי תעשו בשפות פקודתיות. במקום זאת, אתם משתמשים במודול Random
בשילוב עם פקודות. הנה דוגמה בסיסית שמייצרת מספר שלם אקראי בין 1 ל-100.
ראשית, התקינו את מודול Random
עם elm install elm/random
. לאחר מכן ייבאו אותו לקובץ Elm שלכם, יחד עם המודולים הנדרשים של HTML ואירועים, כך:
src/Main.elm
module Main exposing (..)
import Browser
import Html exposing (Html, button, text, div)
import Html.Events exposing (onClick)
import Random
כדי שדוגמה זו תהיה עצמאית, תוכלו להוסיף זירוז קוד זה:
main =
Browser.element { init = init, update = update, subscriptions = subscriptions, view = view }
init : () -> (Model, Cmd Msg)
init _ =
(Model 0, Cmd.none)
subscriptions : Model -> Sub Msg
subscriptions _ =
Sub.none
לאחר מכן, הגדירו פקודה לייצר מספר אקראי. זה כולל הקמת טיפוס Msg
לטיפול במספר האקראי לאחר יצירתו, Model
לאחסון שלו, ופונקציית עדכון לקשר הכל יחד.
type Msg
= Generate
| NewRandom Int
type alias Model = { randomNumber : Int }
update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
case msg of
Generate ->
( model, Random.generate NewRandom (Random.int 1 100) )
NewRandom number ->
( { model | randomNumber = number }, Cmd.none )
כדי להפעיל יצירת מספר, אתם שולחים הודעת Generate
, לדוגמה, דרך כפתור בתצוגה שלכם:
view : Model -> Html Msg
view model =
div []
[ div [] [ text ("מספר אקראי: " ++ String.fromInt model.randomNumber) ]
, button [ onClick Generate ] [ text "צור" ]
]
כאשר לוחצים על הכפתור “צור”, יוצג מספר אקראי בין 1 ל-100.
גישה פשטנית זו יכולה להתאים ולהתרחב, תוך שימוש בפונקציות נוספות במודול Random
כדי לייצר מספרים עשרוניים אקראיים, רשימות, או אפילו מבני נתונים מורכבים מבוססי סוגים מותאמים אישית, ומספקת מגרש משחק נרחב להוספת אקראיות ליישומי Elm שלכם.
המדריך של Elm נכנס לפרטים רבים יותר. יש בו גם דוגמה לגלגול קוביה בעלת שש פאות.