Microsoft PowerPoint - ruby_instruction.ppt

Similar documents
Ruby演習テキスト1

Microsoft PowerPoint - Ruby n

Microsoft PowerPoint - 11RubyIntro-No02.ppt [互換モード]

Java講座

JavaScriptプログラミング入門 2.JavaScriptの概要

Microsoft PowerPoint - prog03.ppt

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Prog2_12th

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

プログラミング基礎I(再)

Javaプログラムの実行手順

JavaプログラミングⅠ

デジタル表現論・第4回

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

Prog1_6th

PowerPoint プレゼンテーション


プログラミング入門1

メソッドのまとめ

GEC-Java

プログラミング基礎

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

PowerPoint Presentation

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

4-4- 基スクリプト言語に関する知識 コードの作成や修正が容易とされるスクリプト言語を学習し アプリケーション開発の手法を習得する 本カリキュラムでは まずスクリプト言語に位置づけされる Perl PHP Python JavaScript Ruby といった Ⅰ. 概要プログラミング言語の特徴に

講習No.1

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

program7app.ppt

Javaプログラマー早期育成ドリル ~コードリーディング編~ 解答

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

デジタル表現論・第6回

JavaプログラミングⅠ

プログラミング実習I

プログラミングA

計算機プログラミング

ポインタ変数

プログラミングA

Prog1_3rd

プログラミング入門1

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

JavaプログラミングⅠ

PowerPoint プレゼンテーション

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

Microsoft PowerPoint - chap10_OOP.ppt

System.out.println("char : " + (int)character.min_value + "~" + (int)character.max_value); System.out.println("float : " + Float.MIN_VALUE + "~" + Flo

レコードとオブジェクト

Microsoft Word _VBAProg1.docx

Cプログラミング1(再) 第2回

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

プログラミング入門1

情報処理Ⅰ

JavaプログラミングⅠ

Microsoft PowerPoint - CproNt02.ppt [互換モード]

ガイダンス

メソッドのまとめ

Microsoft Word - java a.doc

Microsoft PowerPoint ppt

PowerPoint プレゼンテーション

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

テキスト処理第 2 回 田中哲産業技術総合研究所情報技術研究部門 akira/textprocess/

Microsoft Word - 商業-3

基礎プログラミング2015

Prog1_10th

Microsoft PowerPoint - Prog05.ppt

3,, となって欲しいのだが 実際の出力結果を確認すると両方の配列とも 10, 2, 3,, となってしまっている この結果は代入後の配列 a と b は同じものになっていることを示している つまり 代入演算子 = によるの代入は全要素のコピーではなく 先をコピーする ため 代入後の a と b は

JavaプログラミングⅠ

CプログラミングI

Microsoft PowerPoint - prog04.ppt

第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

Microsoft PowerPoint - C1(演算と変数).ppt

sinfI2005_VBA.doc

JavaプログラミングⅠ

ポインタ変数

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

C#の基本2 ~プログラムの制御構造~

関数の動作 / printhw(); 7 printf(" n"); printhw(); printf("############ n"); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 (

Microsoft PowerPoint - 計算機言語 第7回.ppt

PowerPoint プレゼンテーション

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

プログラミング入門1

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

Microsoft Word - 3new.doc

JavaプログラミングⅠ

NetworkApplication-09

Microsoft PowerPoint - C_Programming(3).pptx

PowerPoint プレゼンテーション

Prog1_2nd

PowerPoint プレゼンテーション

Javaの作成の前に

JavaScriptで プログラミング

Microsoft PowerPoint - program.ppt [互換モード]

Transcription:

Ruby 入門

流れ Ruby の文法 画面に出力 キーボードから入力 数値 文字列 変数 配列 ハッシュ 制御構造 ( 分岐 繰り返しなど ) if while case for each 関数 クラス

Ruby とは プログラミング言語 インタプリタ言語 オブジェクト指向 国産 ウェブアプリケーションフレームワーク RubyOnRails で注目 弊社での Web アプリケーション開発に利用

画面に出力 puts hello world.

キーボードから入力 gets 例 ) puts gets # 入力をそのまま画面に出力 abc と入力する場合 gets では abc n のように改行コードが最後に入る これを取り除くには gets.chomp とする

四則演算 単純な例 : puts 1 + 1 #=> 2 puts 3 1 #=> 2 puts 1 * 2 #=> 2 puts 10 / 5 #=> 2 puts 10 % 2 #=> 5 複雑な例 : puts 1 + ( 1 2 * ( 4 1 ) ) #=> -4

文字列 puts 文字列 #=> 文字列 puts これも文字列 #=> これも文字列 エスケープシーケンス puts 改行は nこうする #=> 改行はこうする puts これだと n 改行されない #=> これだと n 改行されない puts これに 注目 してほしい #=> これに 注目 してほしい 文字列の結合 puts こんにちは + こんばんは #=> こんにちはこんばんは

数値と文字列の変換 文字列を数値へ 100.to_i 12.5.to_f # 整数 # 浮動小数点数 数値を文字列へ 100.to_s 変換しないといけない例 : a = 1 ; b = 2 ; puts a + b

Ruby の変数 変数を宣言しなくてよい 実際に使用するときにいきなり使える num = 3 変数には型がない 中に入っているオブジェクトが動的に変化 a = 1 a = foo # 数値が入っていたところに文字列を代入

変数の使用例 変数に値を代入 num = 1 str = 文字列 変数の値を出力 puts num #=> 1 puts str #=> 文字列 変数から変数に代入 str = num puts str #=> 1 ( 数値 ) 変数で計算 puts str + num #=> 2 ( 数値 )

変数と四則演算 変数に特定の値を加減乗算する a += 4 a -= = 4 a *= 4 a /= 4 # 0 を指定するとエラーが起こる

宣言 初期化 配列 a = [] ( 空の配列 ) a = [1,2,3] 追加 a << 4 a += [] 参照 a[0] a.first ( 一番はじめの要素 ) a.last ( 一番最後の要素 ) 配列の中身の個数 a.size

ハッシュ key と value のペアを格納する配列 別名 連想配列 janken = { # key => value グー => 0, チョキ => 1, パー => 2 } janken[ パー ] #=> 2 key を添え字にすると ペアになっている value が返る 使用例 : 英日辞書プログラム

比較 制御構造 a < b : a は b より小さい a <= b : a は b 以下 a => b : a は b 以上 a > b : a は b より大きい a == b : a と b は等しい a!= b : a と b は等しくない 条件を満たす場合は true( 真 ) 満たさない場合は false( 偽 )

制御構造 条件分岐 if 文 a = 1 if a == 1 puts 1です elsif a == 2 puts 2です else puts 1でも 2でもありません 条件分岐

制御構造 複数条件分岐 case 文 case num when 1 puts 1です when 2, 4, 6 puts 2,4,6 のどれかです when 4..7 puts 4~7 の範囲です else puts 条件以外です

制御構造 繰り返し while 文 while a < 10 puts a a += 1 繰り返し

繰り返し upto 文 0.upto(10) { i puts i } 繰り返し 制御構造 C 言語の for( int i = 0; i <= 10; i+){ } に相当

繰り返し times 文 100 回繰り返す i は0からスタート 100. times { i puts i } 制御構造

配列の繰り返し each メソッド a = [1,2,3,4,5] a.each { var var puts var } for 文 for ( var in a ) puts var 制御構造

メソッド ( 関数 ) 今までに出てきたメソッド puts, gets gets. gets.chomp 1.to_i, 1.to_f ( 文字列クラスのメソッド ) 1. 1.to_s ( 数値クラスのメソッド )

関数の定義 def plus(a,, b) return a + b メソッドの作り方 利用 puts plus( 10, 12 ) #=> 22

return の省略 メソッドの最後に書いた行の値が戻り値になる def plus( a, b, c ) ans = 0 ans += a ans += b ans += c return ans # return が省略されている

大文字で始まる変数 MAX_VALUE = 10 定数 メソッドの中では定義できない 一度初期化あとに再度代入しようとすると警告がでる ( エラーではないが非推奨 )

クラス オブジェクトの定義 クラス定義 例 : 挨拶クラス class Greeting1 # インスタンスメソッド def greet return こんにちは # クラス名は必ず大文字ではじめる # メソッド名は小文字で 単語ごとに _ で区切る

インスタンスの生成 var = Greeting1.new クラス var に生成された Greeting クラスのインスタンスが入っている インスタンスメソッドの呼び出し puts var.greet #=> こんにちは

クラス 挨拶する相手の名前を入力できるようにする class Greeting2 attr_accessor name # アクセッサ def greet return こんにちは + @name@ + さん # 特殊なメソッド def initialize(name) @name = name # 挨拶をする相手の名前

initialize メソッド クラス インスタンスを生成するときに インスタンスの初期化処理を行う場合に定義 インスタンス変数 @hoge のように @ から始まる変数 インスタンスごとに保持している値が異なる インスタンス変数はインスタンスの外から使えない アクセッサ インスタンス変数をインスタンスの外から使えるようにするための定義 attr_accessor name で定義する greeting_instance.name で値を取得したり 代入したりできるようになる

クラスメソッド インスタンスを生成せずに実行できるメソッド class Greeting2 # 省略 def self.ask_name return あなたのお名前は何ですか?? クラス名. メソッド名で実行 puts Greeting2.ask_name

クラスの定数 クラスの中で定数を定義すると クラスの中でのみ有効な定数になる class Foo HOGE = hoge クラス外から参照する場合は Foo::HOGE と記述すると参照できる

クラスの継承 親クラスのメソッドやインスタンス変数を受け継いだクラスを定義 class MyGreeting < Greeting1 # なにもメソッドは定義していない 利用 a = MyGreeting.new a.greet #=> 親クラスのメソッドが呼ばれる

メソッドのオーバーライド 親クラスで定義されているメソッドを再定義する class EnglishGreeting < Greeting2 def greet return Hello + @name +. def self.ask_name return What is your name??

挨拶クラスを使った例 puts Can you speak Japanese? (yes/no) if gets.chomp == yes puts Greeting2.ask_name g = Greeting2.new gets.chomp else puts EnglishGreeting.ask_name # 日本語の挨拶 g = EnglishGreeting.new gets.chomp # 英語の挨拶 puts g.greet # 選んだほうの言葉で挨拶する

Ruby の組み込みクラス 数値クラス 整数型クラス (Integer {Fixnum{ Fixnum, Bignum}) 浮動小数点型クラス (Float) 文字列クラス (String) シンボルクラス (Symbol)( 配列クラス (Array) ハッシュクラス (Hash) nil クラス (NilClass) Boolean true クラス (TrueClass( TrueClass) false クラス (FalseClass)

Boolean 真 or 偽の値をとる 真 : 偽 : true false 比較演算をすると生成される 100 > 10 #=> true 10 > 100 #=> false

シンボル :Symbol: 文字列クラスはインスタンスごとにオブジェクトが違う a = foo b = foo は別のインスタンスになる シンボルでは a = :foo: b = :foo: は同じインスタンスになる

nil(nilclass) とは? 空を意味するオブジェクト 次のような場合によく出現する 戻り値を返さない関数の戻り値 配列やハッシュで値がない要素を参照 例 array = [] array[2] #=> nil # 値がないので nil が返る

ブロック do ~ までのプログラムをオブジェクトにしたもの ( このオブジェクトを手続きオブジェクトという ) 他の言語にはあまりない特殊な機能 作成 hello = Proc.new do puts hello # 別の書き方 : hello2 = proc { puts hello } 利用 hello.call #=> hello と表示される

ブロック ブロックに引数を渡すこともできる greet = proc { message puts message } greet.call こんばんは #=> こんばんは と表示 greet.call さようなら #=> さようなら と表示

ブロック 配列の each メソッドや 数値クラスの upto メソッドの { i } は do i ~ の別の書き方 ( 若干違いはある ) 0.upto(10) { i } 0.upto(10) do i は同じ動作