atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
IRCAM OpenMusic 支援
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
IRCAM OpenMusic 支援
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
IRCAM OpenMusic 支援
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • IRCAM OpenMusic 支援
  • 非公式Tutorial 11 文字列のファンクション

IRCAM OpenMusic 支援

非公式Tutorial 11 文字列のファンクション

最終更新:2016年02月04日 05:55

Bot(ページ名リンク)

- view
だれでも歓迎! 編集

非公式チュートリアル11 文字および文字列のファンクション


2年ぶりの更新。

今回は文字および文字列の扱い方、およびそのファンクションを列挙してみる。リファレンスマニュアルに載っていないLISP由来のファンクションがたくさんあるので、是非ともご活用いただきたい。


OpenMusicで文字を扱う場合は、以下の3つに分けられる。
  • 単一の文字からなる「文字 character (char)」
  • 複数の文字からなる「文字列 string」
  • 文字列をシンボルとみなす「シンボル symbol」

非公式Tutorial 04 omif subpatchで条件判断文によりevenとoddの文字を表示させたが、この時は「シンボル」という扱いであった。今回は「文字」と「文字列」を扱う。

単一の文字(半角英数字と記号)を扱うときには、 #\ の次に文字を書く。 a という文字を扱うなら #\a と書く。

複数の文字からなる文字列を扱うときには、文字列をダブルクォーテーションで囲む。ABCという文字列を扱うなら "ABC" と書く。

ダブルクォーテーションで囲まれていない文字列は、シンボルとして認識される。

シンボルとは、文字列のように扱えるが、予約語(LISPの命令としてすでに存在する単語)である場合、LISPの命令のように動く。例えば非公式チュートリアル4で出てきた evenp を使う場合、これをLISPのファンクション apply の左辺に入れると、 evenp のファンクションを繋いだのと同じ動きをする。

それに対して文字列は、その文字列の中のどれか1文字や一部の文字列を指定したり、文字列の評価(ABC順で前か後かなど)を行うことができる。

具体例はチュートリアルの次項で見ていくことにして、ここではまず最低限必要なファンクションを解説しよう。

名前がpで終わるファンクションは、評価のファンクションである。例えば非公式チュートリアル4でも evenp と oddp を扱った。これらの評価ファンクションは、omifに繋ぐことで、条件判断文として使うことができる。判断が真なら t を、偽なら nil を返す。

characterp 文字かどうかを判断する。

stringp 文字列かどうかを判断する。

arpha-char-p 文字がアルファベットかどうかを判断する。

alphanumericp 文字がアルファベットまたは数字かどうかを判断する。

code-char 数値を指定することで、そのアスキーコードに対応する文字を返す。

char-code 文字を指定することで、その文字に対応するアスキーコードを返す。

char= 左辺と右辺の文字が一致するかどうかを判断する。小文字と大文字を区別する。

char-equal 左辺と右辺の文字が一致するかどうかを判断する。小文字と大文字を区別しない。

lower-case 文字が小文字のアルファベットかどうかを判断する。

upper-case 文字が大文字のアルファベットかどうかを判断する。

aref, elt, char 文字列を左辺に指定した場合、いずれも右辺に指定した数値n番目の文字を返す。LISPは0からものを数えるので、先頭の文字は0となる。

length 今までのチュートリアルでも使ってきたファンクションだが、文字列を指定した場合、その長さを返す。

typep 左辺の入力が、右辺に指定されたタイプ(char, string, symbol)と一致するかどうかを判断する。

character 単一の文字を指定した場合、その文字を返す。

string 文字列を返す。ここで注意したいのは、単一の文字を指定しても、stringはそれを文字列として返す点である。つまり #\a をstringに指定すると、返り値は "a" となり、文字列とみなされる。

string= 左辺の文字列が右辺の文字列と一致するかどうかを判断する。小文字と大文字を区別する。

string-equal 左辺の文字列が右辺の文字列と一致するかどうかを判断する。小文字と大文字を区別しない。

string< 左辺の文字列が右辺の文字列より小さいかどうかを判断する。左辺が大きい場合はnilを返す。左辺が小さい場合、一致する文字列の数を返す。
  • 左辺 abcde 右辺 abcce の場合、3文字目まではabcで同一だが、4文字目は左辺のd(アスキーコード100)より右辺のc(アスキーコード99)の方がアスキーコードが小さいので、判断はここで終了し、nilを返す。
  • 左辺 abcde 右辺 abcee の場合、3文字目まではabcで同一だが、4文字目は左辺のd(アスキーコード100)より右辺のe(アスキーコード101)の方がアスキーコードが大きいので、判断はここで終了し、一致した文字数の合計3を返す。

string> 左辺の文字列が右辺の文字列より大きいかどうかを判断する。左辺が小さい場合はnilを返す。左辺が大きい場合、一致する文字列の数を返す。(判断の例は上記を参照)

string<= 左辺の文字列が右辺の文字列より小さいまたは同じかどうかを判断する。左辺が大きい場合はnilを返す。左辺が小さいまたは同じ場合、一致する文字列の数を返す。(判断の例は上記を参照)

string>= 左辺の文字列が右辺の文字列より大きいまたは同じかどうかを判断する。左辺が小さい場合はnilを返す。左辺が大きいまたは同じ場合、一致する文字列の数を返す。(判断の例は上記を参照)

string-upcase 文字列の小文字を大文字に変換する。

string-downcase 文字列の大文字を小文字に変換する。

char-upcase 文字の小文字を大文字に変換する。

char-downcase 文字の大文字を小文字に変換する。

princ-to-string 数値を文字列に変換する。

parse-integer 数字で構成された文字列を数値に変換する。


次回は文字列を使った実際のパッチ作例を見ていく。


非公式チュートリアル 前後

  • 非公式Tutorial 10 メシアン様式即興
  • 非公式Tutorial 概要

タグ:

+ タグ編集
  • タグ:
タグの更新に失敗しました
エラーが発生しました。ページを更新してください。
ページを更新
「非公式Tutorial 11 文字列のファンクション」をウィキ内検索
LINE
シェア
Tweet
添付ファイル
  • unofficial-tutorial11.png
IRCAM OpenMusic 支援
記事メニュー

メニュー

  • トップページ
    • ダウンロード
    • インストール
  • クイックスタート
    • セッションの開始
    • パッチの作成
    • ワークスペースでのパッチの操作
    • アプリケーションを作る (1)
    • アプリケーションを作る (2)
    • アプリケーションを作る (3)
    • オブジェクトの操作 (1)
    • オブジェクトの操作 (2)
    • 保存・終了
  • ユーザーマニュアル
  • 基本リファレンス
  • ライブラリリファレンス
    • Esquisse
    • LZ
    • OMAlea
    • OMChaos
    • OMClouds
    • Profile
    • RepMus
    • Situation


  • OpenMusicの歴史
  • 非公式Tutorial 概要
    • 01 note chord chord-seq
    • 02 repeat-n omloop
    • 03 random
    • 04 omif subpatch
    • 05 様々なファンクション
    • 06 バッハ平均律
    • 07 武満徹分析
    • 08 multi-seq voice poly
    • 09 ディアトニック即興
    • 10 メシアン様式即興
    • 11 文字列のファンクション
    • 12 ハイドンの名による
    • 13 リズム1
    • 14 リズム2ファーニホウ1
    • 15 リズム3ファーニホウ2
    • 16 リズム4ファーニホウ3


  • 掲示板


  • 落書き
  • 落書き20150822



ここを編集
記事メニュー2

更新履歴

取得中です。


ここを編集
人気記事ランキング
  1. Esquisse
  2. autotransp
  3. リファレンス
  4. interpol-tab
  5. 非公式Tutorial 09 ディアトニック即興
  6. pstgenerate
  7. rossler
  8. remove-rests
  9. ライブラリリファレンス
  10. as->om
もっと見る
最近更新されたページ
  • 421日前

    トップページ
  • 973日前

    ユーザーマニュアル
  • 1184日前

    非公式Tutorial 03 random
  • 1190日前

    非公式Tutorial 12 ハイドンの名によるメヌエット
  • 1190日前

    非公式Tutorial 10 メシアン様式即興
  • 1190日前

    非公式Tutorial 09 ディアトニック即興
  • 1190日前

    非公式Tutorial 08 multi-seq voice poly
  • 1190日前

    非公式Tutorial 07 武満徹分析
  • 1910日前

    非公式Tutorial 14 リズム2ファーニホウ1
  • 1977日前

    掲示板
もっと見る
人気記事ランキング
  1. Esquisse
  2. autotransp
  3. リファレンス
  4. interpol-tab
  5. 非公式Tutorial 09 ディアトニック即興
  6. pstgenerate
  7. rossler
  8. remove-rests
  9. ライブラリリファレンス
  10. as->om
もっと見る
最近更新されたページ
  • 421日前

    トップページ
  • 973日前

    ユーザーマニュアル
  • 1184日前

    非公式Tutorial 03 random
  • 1190日前

    非公式Tutorial 12 ハイドンの名によるメヌエット
  • 1190日前

    非公式Tutorial 10 メシアン様式即興
  • 1190日前

    非公式Tutorial 09 ディアトニック即興
  • 1190日前

    非公式Tutorial 08 multi-seq voice poly
  • 1190日前

    非公式Tutorial 07 武満徹分析
  • 1910日前

    非公式Tutorial 14 リズム2ファーニホウ1
  • 1977日前

    掲示板
もっと見る
ウィキ募集バナー
急上昇Wikiランキング

急上昇中のWikiランキングです。今注目を集めている話題をチェックしてみよう!

  1. Shoboid RPまとめwiki
  2. テイルズオブ用語辞典
  3. トリコ総合データベース
  4. 固めまとめWiki
  5. ストグラFV まとめ@非公式wiki
  6. イナズマイレブンGO2 クロノ・ストーン ネップウ/ライメイ 攻略wiki
  7. みんなで決めるゲーム音楽ベスト100まとめwiki
  8. グランツーリスモWiki
  9. 魔法科高校の劣等生Wiki
  10. ゆっくり虐め専用Wiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ゲームカタログ@Wiki ~名作からクソゲーまで~
  3. ストグラ まとめ @ウィキ
  4. 初音ミク Wiki
  5. 発車メロディーwiki
  6. 検索してはいけない言葉 @ ウィキ
  7. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  8. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  9. オレカバトル アプリ版 @ ウィキ
  10. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
もっと見る
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. MADTOWNGTAまとめwiki
  3. まどドラ攻略wiki
  4. ちいぽけ攻略
  5. SurrounDead 攻略 (非公式wiki)
  6. Shoboid RPまとめwiki
  7. シュガードール情報まとめウィキ
  8. 戦国ダイナスティ攻略Wiki@ウィキ
  9. ソニックレーシング クロスワールド @ ウィキ
  10. 20XX @ ウィキ
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. angler - MADTOWNGTAまとめwiki
  2. 参加者一覧 - MADTOWNGTAまとめwiki
  3. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  4. 参加者一覧 - MadTown GTA (Beta) まとめウィキ
  5. SILENT HILL f - アニヲタWiki(仮)
  6. ギャプラン - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  7. XVI - MADTOWNGTAまとめwiki
  8. 模擬ドラフト結果 - おんJ模擬ドラフトまとめwiki
  9. 参加者一覧 - ストグラ まとめ @ウィキ
  10. 白狐 - MADTOWNGTAまとめwiki
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.