Compare commits
4 Commits
b7458b9624
...
v4
Author | SHA1 | Date | |
---|---|---|---|
c52875ef03 | |||
b1cc13e269 | |||
eace359d3d | |||
6dc8f99779 |
8
content/Ad-Astra.md
Normal file
8
content/Ad-Astra.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
date: 2025-09-20 11:59
|
||||||
|
---
|
||||||
|
#programming-language
|
||||||
|
|
||||||
|
[[Lady Deirdre]]を作ってる人のスクリプティングプログラミング言語。[[Rust]]で実装されてる
|
||||||
|
|
||||||
|
[Introduction - The Ad Astra Book](https://ad-astra.lakhin.com/)
|
@@ -11,5 +11,6 @@ date: "2023-09-01T19:08:25+0900"
|
|||||||
- [[Rhai]]
|
- [[Rhai]]
|
||||||
- [[Moonbit]]
|
- [[Moonbit]]
|
||||||
- [[Gream]]
|
- [[Gream]]
|
||||||
|
- [[Ad-Astra]]
|
||||||
|
|
||||||
[[RustでGUIを作る選択肢]]
|
[[RustでGUIを作る選択肢]]
|
@@ -76,4 +76,47 @@ impl Machine{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## 用途
|
||||||
|
|
||||||
|
例えばcatさんに作ってもらったこの辺の再帰を用いたコードがあるとする
|
||||||
|
|
||||||
|
```rust
|
||||||
|
fn gen_metalic_rec(times,freq,oscproto){
|
||||||
|
if(times>0){
|
||||||
|
let next = gen_metalic_rec(times-1,freq*1.176,oscproto)
|
||||||
|
let osc = oscproto();
|
||||||
|
| | { osc(freq) + next() }
|
||||||
|
}else{
|
||||||
|
| | 0.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fn gen_metalic(times,freq){
|
||||||
|
let gen = gen_metalic_rec(times,freq,| | square_0);
|
||||||
|
| | gen() / times
|
||||||
|
}
|
||||||
|
let lowest_freq = 200.0
|
||||||
|
let myoscbank = gen_metalic(6,lowest_freq)
|
||||||
|
```
|
||||||
|
|
||||||
|
こういう組み込み関数を与えて、
|
||||||
|
|
||||||
|
```rust
|
||||||
|
extern enumerate_by: (times,init:float,(x:float,acc:float)->float)->[float]
|
||||||
|
```
|
||||||
|
|
||||||
|
```rust
|
||||||
|
|
||||||
|
fn metalic(times,lowest_freq){
|
||||||
|
let freqs = enumerate_by(times,lowest_freq, |_x,acc| acc*1.167)
|
||||||
|
let res = map(freqs,|f| `square_0(liftf(f)))
|
||||||
|
|> foldl(_, |x,acc| `{ $x + $acc } )
|
||||||
|
`{$res / liftf(times)}
|
||||||
|
}
|
||||||
|
fn dsp(){
|
||||||
|
metalic!(6,200)
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
Submodule content/private updated: 67baf9383d...16aae05f00
Reference in New Issue
Block a user