Ruby始めてます2
基本的な文法でへ~って思ったところとか
リテラル?
プログラムの中に直接記述した文字列のことを文字列リテラルという
プログラムの中に直接記述した数値のことを数値リテラルという
文字列をあたらしく作る時、
String.new("hage")
と書く
この時
・Stringがレシーバー
・newがメッセージ
・プログラムがセンダー
となる
表示したい文字列が決まっている場合→文字列リテラルが便利
表示したい文字列がプログラム内で作成される場合→String.newが便利
ローカル変数の宣言
小文字、または_から始まる名前
ところで
str1 ="hoge"
と
str2 = 'hage'
もしこれを
str1 = str2
としたらどうなると思う?
普通にstr1がhageになった
" "と' 'で区別はないらしい
ウソでした!ありました!
" "は制御文字(\nのようなもの)を意味する通りに使う(\nならば改行)。式展開(?)とバックスラッシュ記法を扱える。
' 'は\'(シングルクオートを表す)と\\(バックスラッシュそのものを表す)以外はその文字のまま解釈される
putsやprintはクラスの指定なく使えるメソッド
こういうのを組み込みメソッド(詳しくはググって)という
chop 最後に読み込んだ文字列の最後の文字を取り除く
chop! の方が使いそうだなという印象
(破壊的メソッド)
sleep(sec)
sec秒だけプログラムの停止
Arduinoで言うdelay()と同じ
p(obj) オブジェクトのデバックに使われる
print "hoge
hage
"
こんな書き方しても怒られないの初めて見た
しかもこれで
print "hoge\nhage\n"と同じいみになるらしい
直感的な文字の入力ができる
print CLEAR
でターミナルでのctrl+lに相当した事ができる
文字列の足し算
puts "hoge " + "hage"
hoge hage
文字列を追加
hoge.concat("hage")
hoge << "hage"
0x 16進数
0 8進数
0b 2進数
1.234e20
1.234の10の20乗を表す
printfとsprintfはCのsprintfにおける書式化文字列もとに作成されてて
%[引数指定$][フラグ][幅][.精度]指示子
a = 123
print "a = ", a , "\n"
と
print "a = #{a} \n"
は同じ
日付データを使いたい
require 'date'
日にちが知りたい
→ day = date.today
新しい日付オブジェクト
name = Date.new(yyyy,mm,dd)
print name
しても
print Date.new(yyyy, mm, dd).to_s
しても同じ結果が出る
array[[hoge,hage],[test,test],[uoo,waa]]
hageが欲しかったら
array[0][1]
puts array.index("hage")
# nil
Rubyの配列は型が違っても入れられる
intとかStringとか入れられる
array = [123, "woo"]
こんなのもOK
初歩的な文法とか覚えた覚えたとか思ってたけどきのせいでしたね・・・
printの" "内で改行されたものがそのまま改行されたのが一番へーってなった12へーくらい
あとconcatがなんか好き
Ruby始めました
Homebrewを使ってみようってなった
brew command not foundになってよくわからない
readlineとopensslを入れる
readlineはコマンドラインの1行入力を支援してくれる物
opensslはネットワーク通信を暗号化するライブラリのオープンソース
brew install hoge
rbenvも入れる
rbenv 開発者の使いたいバージョンのルビーを切り替えて使うことができる
bash_profileの内容をreadlineなどを入れる過程で変えていく
PATH=/usr/local/bin:/usr/local/sbin:$PATH
export PATH
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
ruby-buildをインストールする
rbenvを使ってRubyをインストールするためのパッケージ
これまでにビルドした2つのライブラリを使いたいのでこれらのライブラリの場所を指定
バージョンによって下線部が変わるかも
CONFIGURE_OPTS="--with-readline-dir=/usr/local/opt --with-openssl-dir=/usr/local/opt" rbenv install 1.9.3-p194
これらはopensslを入れる時にこんなの↓が出てくると思う
LDFLAGS: -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include
これの下線部が上の下線部と対応する
この段階で
rbenv version
をやってもまだ1.9.3-p194が使える段階にはなっていない
なので
rbenv versions
で何が利用可能かをしらべて
rbenv global 1.9.3-p194
rbenv rehash
でバージョンを切り替える
成功していれば
ruby -v
で
こんな表示になるはず
which ruby
したら
/Users/name/.rbenv/shims/ruby
となるはず
失敗したら
/usr/bin/ruby
とかになってるかも
rubyのバージョンが更新されていなかったら
tail ~/.bash_profile
で修正がちゃんと出来ているか確認
できてなかったら書き加えてターミナル.appを一旦消してもう一度起動
これでいつでもバージョンの切り替えができますね(爽やか
"はじめに"のところで「プログラミングを学ぶとは」って話があって文法を学んだからってプログラミングのお勉強が終わったわけではないので知ってること使って楽しくものづくりしましょうって書いてあってこれが知りたかったんだな、自分はずっと道に迷ってたんだなあって感動しました。自分の知ってることで遊べるものとか作っていつのまにかRubyマンになってたいです。
1日1部ずつ進めるのが目標ですね。
今回知ったもの
Homebrewの存在Macportsがいるとめんどくさいこと
brew install hoge
rbenvの存在
versionとversionsは別物
tailコマンド
MacのDock
Dockのいじり方
terminalを開きます
(◞‸◟)
英語
( ◠‿◠ )
入力します
(`・ω・´)defaults write com.apple.dock persitent-others -array-add '{tile-data={}; tile-type="spacer-tile";}'; killall Dock
_人人人人人人人_
> 変化しない <
 ̄Y^Y^Y^Y^Y^Y ̄
入力します
defaults write com.apple.dock persitent-others -array-add '{tile-data={}; tile-type="spacer-tile";}'; killall Dock
_人人人人人人人_
> 変化しない <
 ̄Y^Y^Y^Y^Y^Y ̄
楽しい!!
✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌
(※正しい文→ defaults write com.apple.dock persistent-others -array-add '{tile-data={}; tile-type="spacer-tile";}'; killall Dock)
スタック、グリッドのアニメーションを変化
defaults write com.apple.Dock use-old-grid-animation -bool TRUE; killall Dock
治すには
defaults write com.apple.Dock use-old-grid-animation; killall Dock
今⌘+Hで隠れてるのを半透明にする
defaults write com.apple.Dock showhidden -bool TRUE; killall Dock
治すには
defaults write com.apple.Dock showhidden; killall Dock
ドックの感じを3D → 2D
bash-3.2$ defaults write com.apple.dock no-glass -bool true
bash-3.2$ killall Dock
bash-3.2$ defaults delete com.apple.dock no-glass
bash-3.2$ killall Dock
ドックに空白を追加
bash-3.2$ defaults write com.apple.dock persistent-others -array-add '{tile-data={}; tile-type="spacer-tile";}'; killall Dock
ウィンドウの表示を少し変える
defaults write com.apple.dock mineffect suck
治すにはドック上でアニメーションを変える
スタックに最近使った項目を追加
defaults write com.apple.dock persistent-others -array-add '{ "tile-data" = { "list-type" = 1; }; "tile-type" = "recents-tile";}';killall Dock
リストを追加
defaults write com.apple.dock use-new-list-stack -bool TRUE; killall Dock
マウスオーバーで選択中のが光る(下のはlistにしてる)
defaults write com.apple.dock mouse-over-hilite-stack -bool TRUE; killall Dock
参照書籍 カンフーマック
こんにちは世界
ブログはじめました。