Macのsayコマンド

Macのターミナルからsayコマンドを使うことで、文章を読み上げることができる。

$ say hello
$ say "こんにちは"

そのまま読み上げさせると、日本語環境の場合に英文は微妙な発音になる。

$ say "My name is Tom."

「システム環境設定」-「アクセシビリティ」-「読み上げコンテンツ」から「システムの声」を選択し「カスタマイズ...」を選ぶと 言語別の音声をダウンロードして使用できる。例えば、「英語(アメリカ合衆国) - 男性」の「Tom」をあらかじめ選択しておく。

f:id:ryuyam:20210102220829p:plain
システム環境設定で音声を選択する

sayコマンド実行時に音声を選択する。

$ say -v Tom "My name is Tom."

RubyのHashでデフォルト値を設定する

RubyのHashで存在しないキーを指定するとnilが返る。

user = { name: "たろう", age: 20 }
p user[:email] #=> nil

存在しないキーを指定したときの値を指定するにはHash#default=を使う。

user = { name: "たろう", age: 20 }
user.default = "不明"
p user[:email] #=> "不明"

docs.ruby-lang.org

TextMateの設定

新しいMacTextMateをインストールするときのメモ。

インストール

MacroMatesのサイトから「Download TextMate 2.0」をクリックする。

macromates.com

ダウンロードしたファイルをダブルクリックして展開し、「アプリケーション」フォルダに移動する。

起動

TextMateのアイコンをダブルクリックして起動する。

設定(Preferences)

⌘-, でPreferencesダイアログを表示する。

  • Bundlesから、「Ruby on Rails」と「RailsCasts」にチェックを入れる。
  • Software Updateから、「Crash Reports」のチェックを外す。
  • Terminalから、「Install」ボタンを押す。

Preferencesダイアログを閉じる。

設定(menu)

menuの「View」-「Font」-「Show Font」から、Familyは「Ricty」、Sizeは「16」を設定する。

  • Rictyはあらかじめインストールしておく。
  • Sizeは直接入力して指定する。

menuの「View」-「Theme」から、「RailsCast」を選択する。

設定(Bundles)

ctrl + option + ⌘ + BでBundle Editorを選択する。

Ruby on Rails

「Menu Action」

  • 「params」の「Key Equivalent」を「ctrl + ⌘ + P」に変更する。
  • 「Jump to Method Definition」の「Key Equivalent」を「⌘ B」に変更する。

⌘ + Sで保存。

Ruby

「Menu Action」

  • 「Hashes」-「Hash Pointer」の「Key Equivalent」を「ctrl + L」に変更する。

⌘Sで保存。

Bundle Editorを閉じる。

設定(その他)

Tab

ウインドウ下部の「Tab Size」を変更する。

  • 「Indent Size」は「2」を選択する。
  • 「Indent Using」は「Space」を選択する。

Font Smoozing

ターミナルから以下を実行する。

defaults write com.macromates.TextMate.preview fontSmoothing 1

実行後、TextMateを再起動する。

Jump to Method Definition(⌘B) を動作するようにする

# 適当な場所にバックアップ
cp ~/Library/Application\ Support/TextMate/Managed/Bundles/Ruby\ on\ Rails.tmbundle/Support/bin/jump_to_method_definition.rb ~/Documents/jump_to_method_definition.rb.bak

# 新しいファイルで上書き
curl https://raw.githubusercontent.com/textmate/ruby-on-rails-tmbundle/191299f0c214e8491a5a0194177cb993188768b1/Support/bin/jump_to_method_definition.rb -o ~/Library/Application\ Support/TextMate/Managed/Bundles/Ruby\ on\ Rails.tmbundle/Support/bin/jump_to_method_definition.rb

TextMateを再起動する。

行末の空白を削除する

git clone https://github.com/bomberstudios/Strip-Whitespace-On-Save.tmbundle.git ~/Library/Application\ Support/TextMate/Bundles/Strip-Whitespace-On-Save.tmbundle

TextMateを再起動する。