ドットインストール:Ruby入門#18まで

ドットインストールのRuby入門18まで修了

Ruby入門 (全22回) - プログラミングならドットインストール

メソッド呼び出しは()が合ってもなくてもOKなのね。

そしてCase文はいちいちbreakしなくても大丈夫。

いろいろな言語のルールが混ざり始めてきました(゜_゜)

 

 

▼学習まとめ▼

=====================

[破壊的メソッド、真偽値を返すメソッド]

! 破壊的メソッド

? 真偽値を返すメソッド true false

s = "taguchi"

puts s.upcase! ⇒元データを書き換えたい場合は破壊的メソッドを使う

p s.empty? ⇒真偽値を返すメソッドには?がついている

 

 

[配列]

--宣言:sales = [5,8,4,"taguchi"]

--指定

p sales[1] = 10  指定&書き換え

p sales[0..2] 範囲指定 0,1,2を表示

p sales[0...2] =[1,2] 0から2未満を一気に書き換え

p sales[-1] 最後の要素

p sales[1,2] 一番目の要素から2個分

--配列に追加&削除

sales.push(“num”) 末尾に要素を追加

sales[1,0] = [10,11,12] 1から0番目のところに挿入  #=>[5,10,11,12,8,4]

sales[0,2] = [] 0から2個分を削除  #=>[4]

sales << 100 << 102 末尾に追加(ショートカット)

--メソッド

p sales.size 要素数を出す

p sales.sort  小さい順に並び替え

p sales.sort.reverse 大きい順に並び替え

 

[ハッシュ] 連想配列 key value

keyが文字列だった場合:シンボルという書き方ができる

sales = {:taguchi => 200, :fkoji => 300}

sales = {taguchi: 200, fkoji: 300}

p sales[:taguchi]

-- メソッド

p sales.size #=> 2

p sales.keys #=> [:taguchi, :fkoji]

p sales.values #=> [200,300]

p sales.has_key?(:taguchi) #=>true キーがあるかどうかの真偽を返す

 

[多重代入&オブジェクト変換]

a,b = 10,"5" ※多重代入

a + b   #=> エラー

a + b.to_i   #=>15 数字に

a + b.to_f   #=> 15.0 実数に

a.to_s + b   #=> 105 文字列に

{ハッシュ}⇒[配列]⇒{ハッシュ}に変換

sales = {taguchi: 200, fkoji: 300} h.to_a #=>[[:taguchi, 200], [:koji, 300]] 

h.to_h #=>{:taguchi =>200, :fkoji=>300}

 

[%記法]

s ="hello"  と s = %Q(hello) は同じ    

文字列を囲むものは記号か括弧ならなんでもOK!Qも省略可能    

s=%Q{hello}    s=%!hello!

--"he"llo"と代入したい場合

s = "he\"llo"  #=>バックスラッシュが必要

s = %Q(he"llo)  #=>バックスラッシュがいらない

s = %q(hello) #=> 'hello' 小文字はシングルクォーテーション

--文字列の配列

a = %W(a b c)  #=> Wと空白で区切ると配列になる

a = %w(a b c) #=> シングルクォーテーション

 

[if条件分岐]

--簡素化

puts "OK!" if score > 60

--真偽値

true: それ以外(0 ''を含む!)

false: false, nil(オブジェクトが存在しない)

--条件演算子

b,c = 10, 20  a = b > c ? b : c  条件演算子

条件が真ならb, 偽ならc

 

[case条件分岐]

signal ="red"

case signal

when "red"

  puts "STOP!"

when "green", "blue"  #=>複数指定も可能

  puts "GO!"

when "yellow"

  puts "CAUTION"

else

  puts "wrong signal"

end

 

[while]

--while: 条件が偽になるまで処理

i=0 while i < 3 do

  puts "#{i}:hello"

i += 1

end

 

[関数的メソッドを作る]

---メソッド定義&呼び出し

def sayHi(name ="Steve") #Steveは初期値

puts "hello!" + name

end

sayHi("Tom") #=> hello! Tom

sayHi() #=> hello! Steve -

--返り値

def hello(x,y)

s = "Hi"

return s

end

greet = hello()

puts greet #=> Hi

puts s #=>エラー

=====================

無料プログラミイング学習サイト「Code School」を使ってみました

Codecademyに引き続き、

プログラミングを学べるサイトを発見(英語)

Learn by Doing - Code School

とりあえず Try Rubyコースをやってみましたが、インタラクティブ

手を動かしながら学習するタイプのようで とってもためになりそう!

HTML, CSS, JavaScript, Rubyとまさに今私が学習中のコースがあって

しかも、サイトデザインが「かわいい!」

 

▼Try Rubyの学習画面▼

f:id:kumajina:20140703133539p:plain

コースを修了するとバッジがもらえて、

PATHをマスターすると マスターバッジももらえるという、

コンプリート欲も刺激させられる仕組み。

 

・・・・と・・・・

 

ひとしきり盛り上がった後に、

無料なのは初心者向けコースのみということに気が付きました。

 

ほとんどのコースが有料。月29$。(高い・・・!)

がっかりですね。

 

でも全く触ったことがないGitとかまだまだ初心者のRubyでは 学べることが多そうなので、引き続き使ってみようかな

 

 

※そして、今日からこっそりはてなブックマークを使い始めてみました。

Mashable: This Fanny Pack Charges Your Phone While You Walk

今日はMashableから、

歩くだけで電話の充電ができるウェストポーチ!

という記事をご紹介

 

This Fanny Pack Charges Your Phone While You Walk http://mashable.com/2014/06/30/fanny-pack-phone-carher/

靴のタグ等に紐を引っ掛けて歩くと発電するので、その電気でデバイスの充電ができる仕組み。動画を見るとしくみが良く分かります!

 

発電&充電器は1.2キロ。

これって、、、 ポータブル充電器を持っていったほうが軽いのではないか。。。。 と思いましたが、確かに、電気系のインフラが整っていないところに 旅or探検に行くような場合便利かもしれません。

 

あとは災害時にとっても活躍しそう。

USB接続できるものなら充電できるそうなので、 ラジオや懐中電灯やトランシーバーなどなど、色々充電できそう。

 

実はこの記事の中に紹介されていた、

電話の充電にまつわる都市伝説5つの嘘を暴く! という記事も

面白かったのでご紹介。

(ちょっと大げさに訳しすぎたかしら)

 

5 Phone Charging Myths, Debunked

http://mashable.com/2014/06/18/phone-charging-myths/

 

嘘5つ

1.純正じゃない充電器を使うとバッテリーが壊れる!

2.充電中は電話利用したらダメ!

3.一晩中充電をするとバッテリーが壊れる!

4.電話の電源は、、、一回も切る必要は無し!

5.電池を使いきるまで受電してはダメ!

 

1,3,5は聞いたことがありましたが、嘘だったんですね。私は毎日寝る前に充電をする派だったのですが、安心です。

 

iphoneとかに使われているリチウムイオン電池は 時々(無くなってから)一気に充電するぐらいなら毎日マメに充電した方が良くて、 かつ、時々電源も切ってお休みさせたほうがバッテリーには良いとのこと。

あと熱は厳禁らしいです。 

 

だんだん頭がこんがらがって来ましたが 結果今の使い方は間違ってなさそうなので安心しておくことにしましょう。

ドットインストール:Ruby入門#6まで

ドットインストールのRuby入門を#6まで学習

http://dotinstall.com/lessons/basic_ruby_v2

 

やっぱりRuby on Railsに取り組む前にRubyの文法とか把握しておいたほうがよいだろう、と思い学習開始。

===============================

[変数定数]

変数:データにつけるラベル、小文字で始まる

定数:変更されないデータにつけるラベル、最初大文字。全部大文字で書くルール。

 

[オブジェクト、メソッド、クラス]

ルビーのデータはすべてオブジェクトになっている

.lengthや.reverseなどというメソッドが使える(クラスで定義)

"hello world".length (文字列はStringというクラスで定義されている)

 

[数値オブジェクト]

- Numeric クラス

  • x=100_000_000 (アンダーバーを無視する)
  • y=20.5
  • z=1/3r #Rational(1,3) 分数が使える

 

[文字列オブジェクト]

name="name"

x="hello world, #{name}"   #=> hello world, name

ダブルクオーテーション:変数展開や特殊文字(\n 改行・\tタブが使える)

y='hello world, #{name}'     #=> hello world, #{name} そのまま出ちゃう

==============================

 

(;´∀`)

いろいろな言語やりすぎてルールが混ざりそう・・・

マルチ言語を使いこなすプログラマーはどうやって脳内処理しているのでしょうか

The Verge : Emojli is a chat app that only lets you send emoji

今日は The Vergeから気になった

エモジを送れるチャットアプリ「Emojli」の記事をご紹介

Emojli is a chat app that only lets you send emoji

http://www.theverge.com/2014/6/30/5858454/emojli-app-will-let-you-chat-using-only-emoji

 

動画を視聴したら「Emojli」はエモージリと発音していました。

Emojiを送れるEmojliというアプリ紹介のページでした。

 

「エモジ」は国境を超えて広がり、どんな論争も解決する記号

インターネットでコミュニケーションを取るのに完璧な方法・・・と褒めまくったあとに

「Emojli」アプリで純粋で楽しく、変わったコミュニケーションを楽しみましょう!!と続いています。

 

まず、Emojiって日本語、そのまま英語でも使われているんだ?!という驚き。

そういえば、Facebookemoticonが自動的に絵文字に変換される機能があるなぁ、と思いぐぐったところ、、、

 

▼[List of Emoticons for Facebook]というページを発見

http://www.symbols-n-emoticons.com/p/facebook-emoticons-list.html

"To use our amazing ‘Emoji’ icons, all you have to do is copy and paste a symbol code beneath the emoticon’s image." 

→Emoji iconsって呼ばれてる∑(゚Д゚) 

 

▼こっちも

Facebook begins supporting emoji in posts and comments on desktop and mobile

http://www.insidefacebook.com/2013/05/08/facebook-begins-supporting-emoji-in-posts-and-comments-on-desktop-and-mobile/

記事名に既にEmojiって使ってる!!!

 

日本発信の文化[emoji]が海外に浸透するなんてなんだか感慨深い。

しかも Dr.スランプ アラレちゃん」から始まったあの「ソフトクリーム型う○こ」マークも動画に出てきて" pile of poo"って呼ばれていてかなり笑ってしまいました。そんなものまで海外に浸透しているなんて、、、感慨深い?