[ << デフォルトを変更する ] | [Top][Contents][Index] | [ 付表 >> ] |
[ < 音楽関数を使用する ] | [ Up : 音楽関数を使用する ] | [ 置換関数の例 > ] |
5.6.1 置換関数の構文
変数を LilyPond コードに置換する関数を作成することは簡単にできます。置換関数の一般的な形式は以下のようなものです:
function = #(define-music-function (arg1 arg2 …) (type1? type2? …) #{ …music… #})
ここで
argN | n 番目の引数 |
typeN? | argN が #t を返す Scheme の 型述語 (type predicate)。 |
…music… | 通常の LilyPond 入力。引数を参照するには $ (LilyPond 構造が許可されている場合のみ) や # (引数を Scheme 値、音楽関数の引数、あるいは音楽リスト内部の音楽として使う場合) を用います
(例: ‘#arg1’)。 |
です。
引数として、型述語のリストが必須です。音楽関数で用いられる一般的な型述語には下記のものがあります:
boolean? cheap-list? (‘list?’ の代わりに用いることで、処理を高速にします) ly:duration? ly:music? ly:pitch? markup? number? pair? string? symbol?
利用可能な型述語のリストは、定義された型述語 を参照してください。ユーザが型述語を定義することもできます。
参照
記譜法リファレンス: 定義された型述語
拡張: Music functions
インストールされているファイル: lily/music-scheme.cc, scm/c++.scm, scm/lily.scm