今日のお勉強。180203-Rubyの基本
Rubyの基本。180203
「数値と四則計算」まで学習しました。
ビット演算子とシフト演算子がいまいちピンとこなくて、2進数のことをずっと考えてました。
●●進数にするといくつ。と、変換するの大変なので、
という変換ツールを使いながら考えてました。
11 << 1 = 22
2進数に変換すると、
11 -----> 1011
1 -----> 1
-----------------
1011に1けた左に桁を動かすと、
10110。つまり22。
11 >> 1 = 5
11 -----> 1011
1 -----> 1
-----------------
1011に1けた右に動かす(一番右の1桁消す)
101。つまり5。
11 << 2 = 44
11 -----> 1011
2 -----> 10
-----------------
1011に2けた左に桁を動かすと、
101100。つまり44。
11 >> 2 = 2
11 -----> 1011
2 -----> 10
-----------------
1011に2けた右に動かす(一番右の2桁消す)
10。つまり2。
「整数と浮動小数点数の演算結果」
整数と浮動小数点数の演算結果 - 数値と四則演算 - Ruby入門
のサンプルプログラムをやってみた結果が、こうです。
5.4 x 3 = 16.200000000000003
5.4 + 3.2 = 8.600000000000001
などなど、あれれ〜?と思って調べてみたところ、
PHP - 言語別?計算誤差に関して(37652)|teratail
小数点以下の数字って、パソコンでは、厳密に細かい数字になってるとのことで、上記の結果が出たのかと思われます。
理由が見えてくると、なるほど〜!と思うことばかりですね
(^0^)/
今日のお勉強。180131-Rubyの基本
Rubyの基本。180131
を見ながらRubyを勉強してました。
「文字列」という単元の「バックスラッシュ記法によるエスケープ」までやりました。
バックスラッシュの出し方
optionキー + ¥キー でバックスラッシュが出てくる
\n
と書くと、改行される。
Ruby2.0の文字エンコーディングの簡単なまとめ。KconvとM17N - プログラマでありたい
なんか文字コード変換するためのもの。
でも、書いてる時に、tosjis と記述すると、実行する時に?マークばかりでて文字化けしてしまいました。
toutf8 と書くと出力されました。
$KCODE
最近のrubyだと、
print("KCODE=", $KCODE);
と書いてもエラーが出てしまい、出力されない。
調べてみると、以前のrubyはそう書いていたらしい。
最近だと、
print("ENCODING=", __ENCODING__);
と書くと出力されるそうです。
今日のお勉強。180128-Rubyの基本
Rubyの基本。180128
GitHub Styleguide を訳してみた(Ruby編) - Qiita
を読んで、チェリー本を隣に置いてRubyのルールを勉強してました。
書き方のルールが思ったより多かったですが、少しずつ覚えていけたら、と思います。
よく出てくる単語
when
条件分岐。「●●の時は...」
then
「もし〇〇だったらこうしてください。」
def
メゾッド定義。
メゾッドとは、オブジェクト指向における、操作を定義したもの。らしい。
begin
例外処理らしい。
put
phpで言うprintやechoみたいな感じ。
?:
エクセル詳しくないけど、
result > 60 ? OK : NO
みたいな関数あったかもしれない。
@@
@@で始まるものはクラス変数。
予約語がまだあまり分からないので以下も参考にしました。
Ruby予約語をまとめてみた - enterprise java programmer
今日のお勉強。180125-Rubyの基本
Rubyの基本。180125
ホワイの(感動的)Rubyガイド :: 7. 髭に願いをかけるとき
7ページ目まで読み終わり、最後は目次ページにたどり着きました。
これなら見たいページすぐに見れますね。
つい最近では、おすすめ本を紹介していただいたので
と、
アジャイル時代のオブジェクト脳のつくり方 Rubyで学ぶ究極の基礎講座
の2冊を購入しました。
これも読んでRubyをより理解できるように頑張ります。
今日のお勉強。180122-Rubyの基本
Rubyの基本。180122
6ページ目途中まで読みました。
思ったのですが、途中で入るイラストがかわいくて結構好きです。
Rubyの書き方や記号の記述の仕方に慣れてないため、少しずつ覚えていきたいと思います。
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (Ruby 2.5.0)
Rubyで良く使われる記号Top50 - kotaniranoの日記
今日のお勉強。180119-Rubyの基本
Rubyの基本。180119
ホワイの(感動的)Rubyガイド :: 5. ルールを作るものと夢を生きるもの
上記サイトの5ページ目途中まで読み進めました。
php学んでた時はオブジェクト指向をやったことがないので、戸惑いつつも早く扱えるようになりたいです。
オブジェクト指向の書き方がいまいちわかりづらいので、近いうちににRubyの書籍を買いに行かなきゃ。
クラスの定義とオブジェクトの作成 - クラスの概念 - Ruby入門
あと、ふと思い浮かんだのが、Rubyの記述の仕方って英語の文章に似てる気がしました。
今日のお勉強。180116-rbenvでRubyをインストール・Rubyの基本
rbenvでRubyをインストール。180116
Rubyのバージョン切り替え
$ rbenv local X.X.X
上記だと切り替えができますが、rbenv global X.X.X だとなぜか切り替えができませんでした。
rbenvでバージョンがうまく切り替わらなかった時にやったこと - Qiita
調べてやってみたものの、紐付けが間違ってる感じはしないのです…。
global と local の違い
globalはシステム全体で使うバージョンの指定。
localはプロジェクトごとに使うバージョンの指定。
version と versions の違い
$ rbenv version
現時点で作業を行ってるディレクトリで有効なRubyのバージョンが表示される。
$ rbenv versions
インストール済みのRubyのバージョンが全て表示。
引用:rbenv を利用した Ruby 環境の構築 | Developers.IO
もしかして、自分が作業してるところで global と記述しても、その階層で違うバージョン使ってたら、意味ないということなのだろうか…。
Rubyの基本
ホワイの(感動的)Rubyガイド :: 3. (漫画のキツネと学ぶ)短時間の(そして願わくは辛くない)Rubyコース
ここまで読み進めました!
Rubyの記述ルールの勉強になりました。
拡張子は「.rb」
each文も、phpだと、
foreach ( なんか配列 ){
なんとかかんとか
}
と、おそらく3行ほど?記述しますが、
Rubyだと、
['toast', 'cheese', 'wine'].each { |food| print food.capitalize }
引用:ホワイの(感動的)Rubyガイド :: 3. (漫画のキツネと学ぶ)短時間の(そして願わくは辛くない)Rubyコース
と、同じ出力するにしても、1行で記述が終わるのがすごいですね!