SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
➢


    Ruby紹介-3




               5月何日か
                 gohryuh
➢
            コメントについて

    ➢コメントは#~行末で記述。
    実行に影響しない。
    例:print(”文”) #文を出力。
    ➢ 複数行コメントを書く場合は
    =begin
    文1
    文2
    =end
    で。これは埋め込みドキュメントと呼ばれる。
➢
            文字コードについて
    ➢   print(”日本語n”)と打って実行すると、文字
        コードが違うからだせねぇぜ。とエラーがでる。
    ➢   文字コードってのは文字を表示する規格のこと
    ➢   規格によって出せる文字が違う。
    ➢   「日本語」を出せるように文字コードを変換する
        には・・・一回下のを書いてみて。

    #! ruby -Ks
    print(“日本語¥n”)

    実行して「日本語」とでればOK。
➢
          文字コード指定の解説
    ➢  #! ruby -K[kcode]を先頭行に打てば文字コー
       ドが変えられる。
    ➢ #は本来コメントだが、先頭行でかつ、!がつい
       ていたらコマンドと認識する。
    文字コードにはいかのがある。
    $KCODEの値 文字コード
    -Ks          Shift_JIS
    -Ke          EUC-JP
    -Ku          UTF-8
    -Kn          ASCII
    今回は文字コードをShift_JISにしました。
    ちなみにコマプロ上で実行時に
    ruby -K[Kcode] 実行ファイル名.rbでもできる。
➢
        文の中に””とかnを書きたいとき
    ➢  文の中に””を書きたくても
    print(”こんにちは”犬”さん”)だけではエラーにな
       る。
    こんなときは記述したい文字の前にをつければ
       よい。つまりさっきの文では
    print(”こんにちは”犬”さん”)
    とうてばよい。またnを打ちたいときもnでOK。

    さらにprint('文')のときは' '内の文字列を全て出
       力する。
    print('全部出力n')→全部出力n
➢
        文字列を複数行書きたいとき

    ➢  文字列をプログラムに書く時点から複数行に
       渡って書きたいときには
    print <<”変数名”
    文
    変数名
➢
                     型変換

    ➢   だまって下のを書きな

    print("3.14".to_i,"n")
    print("3.14".to_f,"n")
    print("3.14".to_s,"n")
    print(”rrr3.14rrrr”.to_i,”n”)
➢
               解説

    ➢ to_iとかto_fとかは文字列をそれぞれ指定
      した型に変換するやつ。
    to_i・・・整数に変換(int型)
    to_f・・・浮動小数点数に変換(float型)
    to_s・・・文字列に変換(string型)
    (ruby1.7からto_i(数)で2~36進数での表示
      ができるらしい。)
    浮動小数点数は少数入りの数
➢
               値取得(キー入力)

    ➢次は値を入力できるようにする関数。
    以下のを書いてくださいな。

        a=gets()
        print(a)

    実行して文字を入力してエンターを押した後同じ
     文字が出力されればOK。
➢
             解説

    ➢ 変数=gets()
    で変数に入力した文字列を代入する。
    今回はaに入力した文字を代入してそれを出力す
      る。(STRING型)
    ➢ これはよく使う。
➢
                メソッド

    ➢ def メソッド名(引数1,引数2・・・)
        実行文
    end
    でメソッド定義 だったりする。
    使いたいときは
    メソッド名(引数1,引数2・・・)で。
➢
                   配列

    ➢   次は配列をやります。」配列とは、

    a[5] = [2006,2007,2008,2009,2010]#こんなの
    print(a[4])
    これを実行すると2010が出てくる。
    配列とは複数のデータの列挙。エクセルをイメー
       ジすればいいと思う。
    a[添え字]でその数の配列番号に入っている数を
       指定する。
    ➢ 配列の番号は1からではなく0からと言うことに
       注意。(つまりここの場合だとa[1]==2007)
    ➢ 何も入っていない要素を作るならnilで
➢
                        配列演習
       ➢じゃあ配列とついでにgets()の演習をやっても
        らいます。
       以下のを書いて

    c=gets()
    a=Array.new(c.to_i)
    for b in 0..(c.to_i) do
      a[b]=gets()
    end
    print(a[2])
    print(a.size)
➢
               解説

    ➢ 2行目・・・aの配列を新たに作る。1行目で入力
      したcの値がaの配列の要素数になる。配列の
      要素数だけを定義するときは
    配列名=Array.new(要素数) で。
    2,3行目で.to_iにするのはgets()で代入した文字
      はstring型だから数字として認識されない。
    なので数値型に変換する。
    ➢ 最後の行⇒a.sizeでその配列の要素数を出す。
    ➢ nilの要素を省いた数が知りたいならa.nitems
➢
                配列演習2

    ➢   配列の演習。下の書いて。


    a=[2010,2011,2012],[1,2,3]
    print(a[1][1],"n")
➢
                  解説

    ➢   複数の配列をひとつの変数に入れると多次元
        配列となる。配列の個数によって2次元、三次
        元となる。
    ➢   二次元配列のイメージはエクセルでいいと思う
    ➢   添え字(インデックス)はたての列から指定
    ➢


           2010   2011     2012
              1        2      3
➢
                      配列演習3

       ➢   以下のを書いて

    a=[1,2,3,4,5]
    b=[1,3,5,7]
    print(a-b,"n")
    print(a+b,"n")
    print(a&b,"n")
    print(a|b,"n")
➢
                解説

    ➢   実行結果からそれぞれどんな性質を持ってい
        るか予測しといて。和集合とかの概念だから数
        Aの集合のところを読んでおいたら集合の勉強
        にもなるし一石二鳥カモシレナイ。

Contenu connexe

Tendances

Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜Kenta USAMI
 
モナドハンズオン前座
モナドハンズオン前座モナドハンズオン前座
モナドハンズオン前座bleis tift
 
JSX / Haxe / TypeScript
JSX / Haxe / TypeScriptJSX / Haxe / TypeScript
JSX / Haxe / TypeScriptbleis tift
 
Better C#の脱却を目指して
Better C#の脱却を目指してBetter C#の脱却を目指して
Better C#の脱却を目指してbleis tift
 
yieldとreturnの話
yieldとreturnの話yieldとreturnの話
yieldとreturnの話bleis tift
 
みんなで Swift 復習会での談笑用スライド – 4th #minna_de_swift
みんなで Swift 復習会での談笑用スライド – 4th #minna_de_swiftみんなで Swift 復習会での談笑用スライド – 4th #minna_de_swift
みんなで Swift 復習会での談笑用スライド – 4th #minna_de_swiftTomohiro Kumagai
 
現実(えくせる)と戦う話
現実(えくせる)と戦う話現実(えくせる)と戦う話
現実(えくせる)と戦う話bleis tift
 
C言語の基本事項のまとめ
C言語の基本事項のまとめC言語の基本事項のまとめ
C言語の基本事項のまとめTomoki Hayashi
 
Vim入門 20130210
Vim入門 20130210Vim入門 20130210
Vim入門 20130210marony
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章Tomonobu_Hirano
 
PCさえあればいい。
PCさえあればいい。PCさえあればいい。
PCさえあればいい。bleis tift
 
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„Kaz Aiso
 
7_C言語入門 - 型変換について
7_C言語入門 - 型変換について7_C言語入門 - 型変換について
7_C言語入門 - 型変換についてbc_rikko
 
第1回Java講義資料
第1回Java講義資料第1回Java講義資料
第1回Java講義資料XMLProJ2014
 
Ruby紹介
Ruby紹介Ruby紹介
Ruby紹介Gohryuh
 

Tendances (20)

Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
Rubyにおける構文追加の試み 〜ボクとRubyと俺々文法〜
 
モナドハンズオン前座
モナドハンズオン前座モナドハンズオン前座
モナドハンズオン前座
 
#6:実数と繰り返し
#6:実数と繰り返し#6:実数と繰り返し
#6:実数と繰り返し
 
For
ForFor
For
 
JSX / Haxe / TypeScript
JSX / Haxe / TypeScriptJSX / Haxe / TypeScript
JSX / Haxe / TypeScript
 
業務報告会
業務報告会業務報告会
業務報告会
 
Better C#の脱却を目指して
Better C#の脱却を目指してBetter C#の脱却を目指して
Better C#の脱却を目指して
 
yieldとreturnの話
yieldとreturnの話yieldとreturnの話
yieldとreturnの話
 
みんなで Swift 復習会での談笑用スライド – 4th #minna_de_swift
みんなで Swift 復習会での談笑用スライド – 4th #minna_de_swiftみんなで Swift 復習会での談笑用スライド – 4th #minna_de_swift
みんなで Swift 復習会での談笑用スライド – 4th #minna_de_swift
 
現実(えくせる)と戦う話
現実(えくせる)と戦う話現実(えくせる)と戦う話
現実(えくせる)と戦う話
 
C言語の基本事項のまとめ
C言語の基本事項のまとめC言語の基本事項のまとめ
C言語の基本事項のまとめ
 
Processing
ProcessingProcessing
Processing
 
F#のすすめ
F#のすすめF#のすすめ
F#のすすめ
 
Vim入門 20130210
Vim入門 20130210Vim入門 20130210
Vim入門 20130210
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
 
PCさえあればいい。
PCさえあればいい。PCさえあればいい。
PCさえあればいい。
 
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„
 
7_C言語入門 - 型変換について
7_C言語入門 - 型変換について7_C言語入門 - 型変換について
7_C言語入門 - 型変換について
 
第1回Java講義資料
第1回Java講義資料第1回Java講義資料
第1回Java講義資料
 
Ruby紹介
Ruby紹介Ruby紹介
Ruby紹介
 

En vedette

31dfde07d12c65f33ae974a29d96ce63 (1)
31dfde07d12c65f33ae974a29d96ce63 (1)31dfde07d12c65f33ae974a29d96ce63 (1)
31dfde07d12c65f33ae974a29d96ce63 (1)chubrock008
 
เทคโนโลยีสารสนเทศหลิว
เทคโนโลยีสารสนเทศหลิวเทคโนโลยีสารสนเทศหลิว
เทคโนโลยีสารสนเทศหลิวNart-Anong Srinak
 
超交流会「ソーシャルWebの先へ」スライド
超交流会「ソーシャルWebの先へ」スライド超交流会「ソーシャルWebの先へ」スライド
超交流会「ソーシャルWebの先へ」スライドKoji Fukada
 
cloudHQ presentation
cloudHQ presentationcloudHQ presentation
cloudHQ presentationSelim D
 
Node Web开发实战
Node Web开发实战Node Web开发实战
Node Web开发实战fengmk2
 
Recipel - Papel de Todos
Recipel - Papel de TodosRecipel - Papel de Todos
Recipel - Papel de TodosMarco Coghi
 
Vergelijking Overlijdensrisicoverzekeringen
Vergelijking OverlijdensrisicoverzekeringenVergelijking Overlijdensrisicoverzekeringen
Vergelijking Overlijdensrisicoverzekeringena3posty
 
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppiFE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppiEPOCA
 
20110623 presentazione nettuno
20110623 presentazione nettuno20110623 presentazione nettuno
20110623 presentazione nettunodiventogrande
 
Nazioarteko sindikalismoa lab
Nazioarteko sindikalismoa labNazioarteko sindikalismoa lab
Nazioarteko sindikalismoa labkirurzun
 
Implantação de PMO em LISARB
Implantação de PMO em LISARBImplantação de PMO em LISARB
Implantação de PMO em LISARBMarco Coghi
 
La responsabilità sociale nella green economy - Dossier La Nuova Ecologia
La responsabilità sociale nella green economy - Dossier La Nuova EcologiaLa responsabilità sociale nella green economy - Dossier La Nuova Ecologia
La responsabilità sociale nella green economy - Dossier La Nuova Ecologiacaterina
 
Υπηρεσία Μίας Στάσης για την σύσταση επιχειρήσεων και ανοικτό λογισμικό
Υπηρεσία Μίας Στάσης για την σύσταση επιχειρήσεων και ανοικτό λογισμικόΥπηρεσία Μίας Στάσης για την σύσταση επιχειρήσεων και ανοικτό λογισμικό
Υπηρεσία Μίας Στάσης για την σύσταση επιχειρήσεων και ανοικτό λογισμικόTilemahos Manolatos
 
Trabalho Demonstraçã: Campinas-OTMMA3-Aquisições-Usina Atlantida
Trabalho Demonstraçã: Campinas-OTMMA3-Aquisições-Usina AtlantidaTrabalho Demonstraçã: Campinas-OTMMA3-Aquisições-Usina Atlantida
Trabalho Demonstraçã: Campinas-OTMMA3-Aquisições-Usina AtlantidaMarco Coghi
 

En vedette (20)

31dfde07d12c65f33ae974a29d96ce63 (1)
31dfde07d12c65f33ae974a29d96ce63 (1)31dfde07d12c65f33ae974a29d96ce63 (1)
31dfde07d12c65f33ae974a29d96ce63 (1)
 
เทคโนโลยีสารสนเทศหลิว
เทคโนโลยีสารสนเทศหลิวเทคโนโลยีสารสนเทศหลิว
เทคโนโลยีสารสนเทศหลิว
 
超交流会「ソーシャルWebの先へ」スライド
超交流会「ソーシャルWebの先へ」スライド超交流会「ソーシャルWebの先へ」スライド
超交流会「ソーシャルWebの先へ」スライド
 
cloudHQ presentation
cloudHQ presentationcloudHQ presentation
cloudHQ presentation
 
Node Web开发实战
Node Web开发实战Node Web开发实战
Node Web开发实战
 
Divers
DiversDivers
Divers
 
Praktisch innoveren
Praktisch innoveren Praktisch innoveren
Praktisch innoveren
 
Recipel - Papel de Todos
Recipel - Papel de TodosRecipel - Papel de Todos
Recipel - Papel de Todos
 
Pppt
PpptPppt
Pppt
 
Vergelijking Overlijdensrisicoverzekeringen
Vergelijking OverlijdensrisicoverzekeringenVergelijking Overlijdensrisicoverzekeringen
Vergelijking Overlijdensrisicoverzekeringen
 
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppiFE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
 
Produk stemfibre
Produk stemfibreProduk stemfibre
Produk stemfibre
 
Anboto 417
Anboto 417Anboto 417
Anboto 417
 
20110623 presentazione nettuno
20110623 presentazione nettuno20110623 presentazione nettuno
20110623 presentazione nettuno
 
Nazioarteko sindikalismoa lab
Nazioarteko sindikalismoa labNazioarteko sindikalismoa lab
Nazioarteko sindikalismoa lab
 
Implantação de PMO em LISARB
Implantação de PMO em LISARBImplantação de PMO em LISARB
Implantação de PMO em LISARB
 
Photos 3r reich
Photos 3r reichPhotos 3r reich
Photos 3r reich
 
La responsabilità sociale nella green economy - Dossier La Nuova Ecologia
La responsabilità sociale nella green economy - Dossier La Nuova EcologiaLa responsabilità sociale nella green economy - Dossier La Nuova Ecologia
La responsabilità sociale nella green economy - Dossier La Nuova Ecologia
 
Υπηρεσία Μίας Στάσης για την σύσταση επιχειρήσεων και ανοικτό λογισμικό
Υπηρεσία Μίας Στάσης για την σύσταση επιχειρήσεων και ανοικτό λογισμικόΥπηρεσία Μίας Στάσης για την σύσταση επιχειρήσεων και ανοικτό λογισμικό
Υπηρεσία Μίας Στάσης για την σύσταση επιχειρήσεων και ανοικτό λογισμικό
 
Trabalho Demonstraçã: Campinas-OTMMA3-Aquisições-Usina Atlantida
Trabalho Demonstraçã: Campinas-OTMMA3-Aquisições-Usina AtlantidaTrabalho Demonstraçã: Campinas-OTMMA3-Aquisições-Usina Atlantida
Trabalho Demonstraçã: Campinas-OTMMA3-Aquisições-Usina Atlantida
 

Similaire à Ruby紹介3(pdf)

初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)Masahiro Hayashi
 
初心者講習会資料(Osaka.r#6)
初心者講習会資料(Osaka.r#6)初心者講習会資料(Osaka.r#6)
初心者講習会資料(Osaka.r#6)Masahiro Hayashi
 
Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Ransui Iso
 
初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)Masahiro Hayashi
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案yushin_hirano
 
transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~MasayoshiTsutsui
 
プログラミング講座 #6 競プロのテクニック(初級)
プログラミング講座 #6 競プロのテクニック(初級)プログラミング講座 #6 競プロのテクニック(初級)
プログラミング講座 #6 競プロのテクニック(初級)ZOIdayo
 
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和schoowebcampus
 
Ekmett勉強会発表資料
Ekmett勉強会発表資料Ekmett勉強会発表資料
Ekmett勉強会発表資料時響 逢坂
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Ransui Iso
 
Vim の話
Vim の話Vim の話
Vim の話cohama
 
スクリプトで文字コード変換
スクリプトで文字コード変換スクリプトで文字コード変換
スクリプトで文字コード変換1000 VICKY
 
スクリプトで文字コード変換
スクリプトで文字コード変換スクリプトで文字コード変換
スクリプトで文字コード変換1000 VICKY
 
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミングOuka Yuka
 
Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)Yuto Takei
 
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜Hiromi Ishii
 
第1回勉強会スライド
第1回勉強会スライド第1回勉強会スライド
第1回勉強会スライドkoturn 0;
 

Similaire à Ruby紹介3(pdf) (20)

初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
 
初心者講習会資料(Osaka.r#6)
初心者講習会資料(Osaka.r#6)初心者講習会資料(Osaka.r#6)
初心者講習会資料(Osaka.r#6)
 
Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3
 
初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
 
Pythonintro
PythonintroPythonintro
Pythonintro
 
transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~
 
プログラミング講座 #6 競プロのテクニック(初級)
プログラミング講座 #6 競プロのテクニック(初級)プログラミング講座 #6 競プロのテクニック(初級)
プログラミング講座 #6 競プロのテクニック(初級)
 
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
 
Ekmett勉強会発表資料
Ekmett勉強会発表資料Ekmett勉強会発表資料
Ekmett勉強会発表資料
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
 
Vim の話
Vim の話Vim の話
Vim の話
 
スクリプトで文字コード変換
スクリプトで文字コード変換スクリプトで文字コード変換
スクリプトで文字コード変換
 
Introduction to PEG
Introduction to PEGIntroduction to PEG
Introduction to PEG
 
スクリプトで文字コード変換
スクリプトで文字コード変換スクリプトで文字コード変換
スクリプトで文字コード変換
 
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
 
Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)
 
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
 
勉強会課題①
勉強会課題①勉強会課題①
勉強会課題①
 
第1回勉強会スライド
第1回勉強会スライド第1回勉強会スライド
第1回勉強会スライド
 

Ruby紹介3(pdf)

  • 1. Ruby紹介-3 5月何日か gohryuh
  • 2. コメントについて ➢コメントは#~行末で記述。 実行に影響しない。 例:print(”文”) #文を出力。 ➢ 複数行コメントを書く場合は =begin 文1 文2 =end で。これは埋め込みドキュメントと呼ばれる。
  • 3. 文字コードについて ➢ print(”日本語n”)と打って実行すると、文字 コードが違うからだせねぇぜ。とエラーがでる。 ➢ 文字コードってのは文字を表示する規格のこと ➢ 規格によって出せる文字が違う。 ➢ 「日本語」を出せるように文字コードを変換する には・・・一回下のを書いてみて。 #! ruby -Ks print(“日本語¥n”) 実行して「日本語」とでればOK。
  • 4. 文字コード指定の解説 ➢ #! ruby -K[kcode]を先頭行に打てば文字コー ドが変えられる。 ➢ #は本来コメントだが、先頭行でかつ、!がつい ていたらコマンドと認識する。 文字コードにはいかのがある。 $KCODEの値 文字コード -Ks Shift_JIS -Ke EUC-JP -Ku UTF-8 -Kn ASCII 今回は文字コードをShift_JISにしました。 ちなみにコマプロ上で実行時に ruby -K[Kcode] 実行ファイル名.rbでもできる。
  • 5. 文の中に””とかnを書きたいとき ➢ 文の中に””を書きたくても print(”こんにちは”犬”さん”)だけではエラーにな る。 こんなときは記述したい文字の前にをつければ よい。つまりさっきの文では print(”こんにちは”犬”さん”) とうてばよい。またnを打ちたいときもnでOK。 さらにprint('文')のときは' '内の文字列を全て出 力する。 print('全部出力n')→全部出力n
  • 6. 文字列を複数行書きたいとき ➢ 文字列をプログラムに書く時点から複数行に 渡って書きたいときには print <<”変数名” 文 変数名
  • 7. 型変換 ➢ だまって下のを書きな print("3.14".to_i,"n") print("3.14".to_f,"n") print("3.14".to_s,"n") print(”rrr3.14rrrr”.to_i,”n”)
  • 8. 解説 ➢ to_iとかto_fとかは文字列をそれぞれ指定 した型に変換するやつ。 to_i・・・整数に変換(int型) to_f・・・浮動小数点数に変換(float型) to_s・・・文字列に変換(string型) (ruby1.7からto_i(数)で2~36進数での表示 ができるらしい。) 浮動小数点数は少数入りの数
  • 9. 値取得(キー入力) ➢次は値を入力できるようにする関数。 以下のを書いてくださいな。 a=gets() print(a) 実行して文字を入力してエンターを押した後同じ 文字が出力されればOK。
  • 10. 解説 ➢ 変数=gets() で変数に入力した文字列を代入する。 今回はaに入力した文字を代入してそれを出力す る。(STRING型) ➢ これはよく使う。
  • 11. メソッド ➢ def メソッド名(引数1,引数2・・・)     実行文 end でメソッド定義 だったりする。 使いたいときは メソッド名(引数1,引数2・・・)で。
  • 12. 配列 ➢ 次は配列をやります。」配列とは、 a[5] = [2006,2007,2008,2009,2010]#こんなの print(a[4]) これを実行すると2010が出てくる。 配列とは複数のデータの列挙。エクセルをイメー ジすればいいと思う。 a[添え字]でその数の配列番号に入っている数を 指定する。 ➢ 配列の番号は1からではなく0からと言うことに 注意。(つまりここの場合だとa[1]==2007) ➢ 何も入っていない要素を作るならnilで
  • 13. 配列演習 ➢じゃあ配列とついでにgets()の演習をやっても らいます。 以下のを書いて c=gets() a=Array.new(c.to_i) for b in 0..(c.to_i) do a[b]=gets() end print(a[2]) print(a.size)
  • 14. 解説 ➢ 2行目・・・aの配列を新たに作る。1行目で入力 したcの値がaの配列の要素数になる。配列の 要素数だけを定義するときは 配列名=Array.new(要素数) で。 2,3行目で.to_iにするのはgets()で代入した文字 はstring型だから数字として認識されない。 なので数値型に変換する。 ➢ 最後の行⇒a.sizeでその配列の要素数を出す。 ➢ nilの要素を省いた数が知りたいならa.nitems
  • 15. 配列演習2 ➢ 配列の演習。下の書いて。 a=[2010,2011,2012],[1,2,3] print(a[1][1],"n")
  • 16. 解説 ➢ 複数の配列をひとつの変数に入れると多次元 配列となる。配列の個数によって2次元、三次 元となる。 ➢ 二次元配列のイメージはエクセルでいいと思う ➢ 添え字(インデックス)はたての列から指定 ➢ 2010 2011 2012 1 2 3
  • 17. 配列演習3 ➢ 以下のを書いて a=[1,2,3,4,5] b=[1,3,5,7] print(a-b,"n") print(a+b,"n") print(a&b,"n") print(a|b,"n")
  • 18. 解説 ➢ 実行結果からそれぞれどんな性質を持ってい るか予測しといて。和集合とかの概念だから数 Aの集合のところを読んでおいたら集合の勉強 にもなるし一石二鳥カモシレナイ。