lean-ja / lean-ja/lean-by-example
`Rand` について紹介する
Open
Nobody has claimed this yet.
データ型
- Dominant language
- Lean
- Stars
- 188
- Forks
- 15
- Avg merge
- 9h 8m
- Merged PRs (30d)
- 6
Description
import Mathlib.Control.Random
def randList (n : Nat) (bound : Nat) : IO (List Nat) := do
let mut out := []
for _ in [0:n] do
out := (← IO.rand 0 bound) :: out
return out
#eval randList 5 10
def randVec (l n : Nat) : Rand (Vector (Fin (n + 1)) l) :=
match l with
| 0 => pure #v[]
| l + 1 => Vector.push <$> randVec l n <*> Random.random
#check randVec 5 10
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the existing documentation or example page where an introduction to Rand belongs; the issue provides examples using IO.rand, Rand, Vector, and Random.random. Read nearby pages to match their structure, then add a concise explanation using these examples and verify that the resulting page renders correctly.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100