1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Hello World あたたたた AppleScript編

Last updated at Posted at 2025-12-20

この記事は 『Hello World あたたたた Advent Calendar 2025』の記事です。
この記事では、AppleScriptで 『Hello World あたたたた』 を実装しています。
『Hello World あたたたた』については ↓こちらをご覧ください。

AppleScriptとは

AppleScriptは、Appleが開発したスクリプト言語です。ユーザーは、スクリプト対応のMacintoshアプリケーションだけでなく、macOS自体の一部を直接制御できます。スクリプト(記述された命令セット)を作成することで、反復的なタスクを自動化したり、複数のスクリプト対応アプリケーションの機能を組み合わせたり、複雑なワークフローを作成したりできます。

おそらく、macOSでのみ動作します。

コーディング例

set aorta to {"あ", "た"}   -- "あ"と"た"のリスト
set hako to ""              -- 出力した文字を溜めていく文字列変数
repeat until hako contains "あたたたた" -- "あたたたた"になるまで繰り返す
	set char to some item of aorta  -- "あ"か"た"をランダムに選択
    set hako to hako & char         -- 出力した文字を hako に追加
end repeat
-- hakoを出力
log hako & "\n" & "お前はもう死んでいる"

コードと文法の解説

変数の宣言・代入

  • リストと文字列の2つの変数を宣言します

    set aorta to {"あ", "た"}   -- "あ"と"た"のリスト
    set hako to ""              -- 出力した文字を溜めていく文字列変数
    

繰り返し

  • 今回はrepeat-untilを使いました。式がになるまで(の間)繰り返します

    repeat until 
        -- 繰り返し処理
    end repeat
    

文字列の末尾判定

  • 文字列の末尾を判定したいのですが、判定文字列が途中に来ることはあり得ないので、単に判定文字列が含まれているかを判定するだけでよいです。
    もし含むなら ループを終了します

    repeat until ( hako contains "あたたたた" ) -- "あたたたた"になるまで繰り返す
        -- 繰り返し処理
    end repeat
    

文字の選択と文字列の連結

  • リストにすることで、リスト内の項目をランダムに選択できます

    set char to some item of aorta  -- "あ"か"た"をランダムに選択
    

  • 文字列の連結には&を使います

    set hako to hako & char         -- 出力した文字を hako に追加
    

文字の出力

  • log で出力します AppleScriptには printのような出力命令がないため、ダイアログに表示します

    log hako & "\n" & "お前はもう死んでいる"
    

    with text buttons { }でダイアログに表示するボタングループを指定し、 default button Xでデフォルトボタンを指定します。
    with title "TITLE"を付加すれば、ダイアログにタイトルをつけることもできます。

実行例

  • 次のコマンドをコピペして ターミナルで実行

    osascript -e '
    set aorta to {"あ", "た"}
    set hako to ""
    repeat until hako contains "あたたたた"
        set char to some item of aorta
        set hako to hako & char
    end repeat
    log hako & "\n" & "お前はもう死んでいる"
    '
    

    terminal1.png


個人的なコメント

ほとんどだいたいの言語で実装されていて、自分に他のどの言語なら書けるのか考えた結果、今回のAppleScriptとなりました。
もう数日残されているので、もう一つぐらい書けないか考えています。

以上

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?