SlideShare uma empresa Scribd logo
1 de 18
第1部 「一時間で覚える Ruby 」 第1回社内勉強会 「あわててはじめるRuby on Rails」
Rubyとは ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
今日の目標 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
環境の準備 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
教材の準備 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
お約束のHello, World! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
型の扱いは意外と厳しい ,[object Object],[object Object],puts "15"  + 3 puts  15  + 3 puts "15".to_i + 3 puts "15"  + "hoge" echo 15 +  3 ; echo 15 + '3' ; echo 15 + 'hoge' ;
配列 ,[object Object],[object Object],[object Object],[object Object],[object Object],s = [1, 2, "hogepiyo"] s[1] s[-1] s[4]
ハッシュ ,[object Object],[object Object],[object Object],h = {1 =>"hoge", "2" => "piyo", "foo" => "bar"} print h[1] ; puts h['1']
論理値の大きなワナ ,[object Object],[object Object],hash_test = { "integer_0"  =>  0, "string_0"  => "0", "boolean_false" => false, "nil"  => nil } hash_test.each do |key,value| print key + " : " if value puts "true" else puts "false" end end
ブロックつきメソッド ,[object Object],[object Object],[object Object],10.times  {  |n| puts n  } hash =  { "hoge"  => "piyo", "foo" => "bar" } hash.each  do  |key, value| puts "key:#{key}=>value:#{value}" end
メソッドの定義 ,[object Object],#  メソッド定義、引数を取る def add(x,y) #  最後に評価した値が返る x + y end def sub(x,y) # return つけたほうが #  わかりやすい return x - y end #  引数を受け取り intger に a = ARGV[0].to_i b = ARGV[1].to_i # <<  と  +  で文字列を連結 puts &quot;add:&quot; << add(a,b).to_s puts &quot;sub:&quot; +  sub(a,b).to_s
文字列はmutable ,[object Object],# <<  と  +  の違い a = &quot;foo&quot;  ; b = &quot;bar&quot; c = &quot;hoge&quot; ; d = &quot;piyo&quot; p a + b  # a と b を連結した新しい文字列が返る p a p b p c << d  # c に d を破壊的に連結する p c p d
クラス ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
正規表現 ,[object Object],#  正規表現 heystack = &quot;Tie your mother down&quot; #  マッチした位置 p heystack =~ /your (+) down/ #  括弧でくくった部分を得られる p $1 #  文字列の置き換え p heystack.sub(/#{$1}/, &quot;sister&quot;)
ファイルの読み書き ,[object Object],[object Object],File::open(ARGV[0], 'r') { |read_handle| File::open(ARGV[1], 'a') { |write_handle| while line = read_handle.gets if line =~ /^*#.*/ write_handle.print line end end } }
以上で ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
おしまい ,[object Object]

Mais conteúdo relacionado

Mais procurados

プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行
プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行
プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行
monglee
 
YAPC::ASIA 2012 LT GaiaX
YAPC::ASIA 2012 LT GaiaXYAPC::ASIA 2012 LT GaiaX
YAPC::ASIA 2012 LT GaiaX
Kazuyuki Todo
 
Closures and methodMissing are real
Closures and methodMissing are realClosures and methodMissing are real
Closures and methodMissing are real
Takahiro Sugiura
 
プログラミング・パラダイム
プログラミング・パラダイムプログラミング・パラダイム
プログラミング・パラダイム
Yusuke Matsushita
 
リテラル文字列型までの道
リテラル文字列型までの道リテラル文字列型までの道
リテラル文字列型までの道
Satoshi Sato
 
#2 プログラミングせよ!
#2 プログラミングせよ!#2 プログラミングせよ!
#2 プログラミングせよ!
Ryouta Takeuchi
 
C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会
Akihiko Matuura
 

Mais procurados (20)

ffi for rubyists
ffi for rubyistsffi for rubyists
ffi for rubyists
 
プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行
プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行
プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行
 
Impractical Introduction of Boost Spirit Qi [PPT]
Impractical Introduction of Boost Spirit Qi [PPT]Impractical Introduction of Boost Spirit Qi [PPT]
Impractical Introduction of Boost Spirit Qi [PPT]
 
C,Javaと比較しながらRubyに入門する話 - e-ZUKA Rails拡大号vol1
C,Javaと比較しながらRubyに入門する話 - e-ZUKA Rails拡大号vol1C,Javaと比較しながらRubyに入門する話 - e-ZUKA Rails拡大号vol1
C,Javaと比較しながらRubyに入門する話 - e-ZUKA Rails拡大号vol1
 
第1回勉強会スライド
第1回勉強会スライド第1回勉強会スライド
第1回勉強会スライド
 
第2回勉強会スライド
第2回勉強会スライド第2回勉強会スライド
第2回勉強会スライド
 
kyotolisp#1 LT3 美しいLispの書き方 (1)
kyotolisp#1 LT3 美しいLispの書き方 (1)kyotolisp#1 LT3 美しいLispの書き方 (1)
kyotolisp#1 LT3 美しいLispの書き方 (1)
 
クロージャデザインパターン
クロージャデザインパターンクロージャデザインパターン
クロージャデザインパターン
 
YAPC::ASIA 2012 LT GaiaX
YAPC::ASIA 2012 LT GaiaXYAPC::ASIA 2012 LT GaiaX
YAPC::ASIA 2012 LT GaiaX
 
Closures and methodMissing are real
Closures and methodMissing are realClosures and methodMissing are real
Closures and methodMissing are real
 
プログラミング・パラダイム
プログラミング・パラダイムプログラミング・パラダイム
プログラミング・パラダイム
 
Gaucheでマクロを書こう
Gaucheでマクロを書こうGaucheでマクロを書こう
Gaucheでマクロを書こう
 
リテラル文字列型までの道
リテラル文字列型までの道リテラル文字列型までの道
リテラル文字列型までの道
 
プログラミング言語PRPR
プログラミング言語PRPRプログラミング言語PRPR
プログラミング言語PRPR
 
#027 tddのさわり
#027 tddのさわり#027 tddのさわり
#027 tddのさわり
 
#2 プログラミングせよ!
#2 プログラミングせよ!#2 プログラミングせよ!
#2 プログラミングせよ!
 
.NET系開発者から見たJava
.NET系開発者から見たJava.NET系開発者から見たJava
.NET系開発者から見たJava
 
ゴースト・と・で・の・お話
ゴースト・と・で・の・お話ゴースト・と・で・の・お話
ゴースト・と・で・の・お話
 
C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会
 
最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)
 

Destaque (6)

TALK ON PERSONAL BRANDING
TALK ON PERSONAL BRANDINGTALK ON PERSONAL BRANDING
TALK ON PERSONAL BRANDING
 
自宅で本気を出さされた
自宅で本気を出さされた自宅で本気を出さされた
自宅で本気を出さされた
 
不惑の生存戦略
不惑の生存戦略不惑の生存戦略
不惑の生存戦略
 
プログラマの為のESP-WROOM-02開発ボード組み立て
プログラマの為のESP-WROOM-02開発ボード組み立てプログラマの為のESP-WROOM-02開発ボード組み立て
プログラマの為のESP-WROOM-02開発ボード組み立て
 
勉強会なう
勉強会なう勉強会なう
勉強会なう
 
エンジニアのための学ぶ技術
エンジニアのための学ぶ技術エンジニアのための学ぶ技術
エンジニアのための学ぶ技術
 

Semelhante a 第1部「一時間で覚えるruby」

PHPとJavaScriptの噺
PHPとJavaScriptの噺PHPとJavaScriptの噺
PHPとJavaScriptの噺
Shogo Kawahara
 
Php in ruby
Php in rubyPhp in ruby
Php in ruby
do_aki
 
about Thrift
about Thriftabout Thrift
about Thrift
Naoya Ito
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
mitamex4u
 

Semelhante a 第1部「一時間で覚えるruby」 (20)

CLR/H 第56回勉強会 LT「Ruby向けmultisetライブラリのご紹介」
CLR/H 第56回勉強会 LT「Ruby向けmultisetライブラリのご紹介」CLR/H 第56回勉強会 LT「Ruby向けmultisetライブラリのご紹介」
CLR/H 第56回勉強会 LT「Ruby向けmultisetライブラリのご紹介」
 
WCO2012「PHP教室」
WCO2012「PHP教室」WCO2012「PHP教室」
WCO2012「PHP教室」
 
Rubyの話を少し
Rubyの話を少しRubyの話を少し
Rubyの話を少し
 
そんな装備で大丈夫か?
そんな装備で大丈夫か?そんな装備で大丈夫か?
そんな装備で大丈夫か?
 
PHPer のための Ruby 教室
PHPer のための Ruby 教室PHPer のための Ruby 教室
PHPer のための Ruby 教室
 
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
 
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
 
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
 
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
 
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 RubyをコンパイルしようCookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
 
PHPとJavaScriptの噺
PHPとJavaScriptの噺PHPとJavaScriptの噺
PHPとJavaScriptの噺
 
Thrift
ThriftThrift
Thrift
 
Php in ruby
Php in rubyPhp in ruby
Php in ruby
 
メタメタプログラミングRuby
メタメタプログラミングRubyメタメタプログラミングRuby
メタメタプログラミングRuby
 
PHPの今とこれから2018
PHPの今とこれから2018PHPの今とこれから2018
PHPの今とこれから2018
 
about Thrift
about Thriftabout Thrift
about Thrift
 
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
 
いまさら聞けないRake入門
いまさら聞けないRake入門いまさら聞けないRake入門
いまさら聞けないRake入門
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
 

Mais de Hiromu Shioya

クマとジャーニーマンとステマ
クマとジャーニーマンとステマクマとジャーニーマンとステマ
クマとジャーニーマンとステマ
Hiromu Shioya
 

Mais de Hiromu Shioya (20)

LTの技術
LTの技術LTの技術
LTの技術
 
珍獣 素人 そして くのいち
珍獣 素人 そして くのいち珍獣 素人 そして くのいち
珍獣 素人 そして くのいち
 
夏夏
 
Tupperware
TupperwareTupperware
Tupperware
 
Rubyistが歩むべき道への道
Rubyistが歩むべき道への道Rubyistが歩むべき道への道
Rubyistが歩むべき道への道
 
クマとデバッグを
クマとデバッグをクマとデバッグを
クマとデバッグを
 
クマとジャーニーマンとステマ
クマとジャーニーマンとステマクマとジャーニーマンとステマ
クマとジャーニーマンとステマ
 
お前の本気を見せてみろ!
お前の本気を見せてみろ!お前の本気を見せてみろ!
お前の本気を見せてみろ!
 
Git道場を開催してきた
Git道場を開催してきたGit道場を開催してきた
Git道場を開催してきた
 
三周まわったおれたちのアジャイル
三周まわったおれたちのアジャイル三周まわったおれたちのアジャイル
三周まわったおれたちのアジャイル
 
俺たちの目指すモバイルの新たな地平
俺たちの目指すモバイルの新たな地平俺たちの目指すモバイルの新たな地平
俺たちの目指すモバイルの新たな地平
 
2011年の漢字
2011年の漢字2011年の漢字
2011年の漢字
 
ベジェ曲線を書いてみた
ベジェ曲線を書いてみたベジェ曲線を書いてみた
ベジェ曲線を書いてみた
 
オススメの技術書
オススメの技術書オススメの技術書
オススメの技術書
 
はじめて学ぶバージョン管理とGit
はじめて学ぶバージョン管理とGitはじめて学ぶバージョン管理とGit
はじめて学ぶバージョン管理とGit
 
肉とRubyとわたし
肉とRubyとわたし肉とRubyとわたし
肉とRubyとわたし
 
祝辞
祝辞祝辞
祝辞
 
魅せる! How to fascinate audiences by your Lightning Talk
魅せる! How to fascinate audiences by your Lightning Talk魅せる! How to fascinate audiences by your Lightning Talk
魅せる! How to fascinate audiences by your Lightning Talk
 
LT戦略 きっと何者にもなれない俺のための5分
LT戦略 きっと何者にもなれない俺のための5分LT戦略 きっと何者にもなれない俺のための5分
LT戦略 きっと何者にもなれない俺のための5分
 
ハロー!ワーク!
ハロー!ワーク!ハロー!ワーク!
ハロー!ワーク!
 

第1部「一時間で覚えるruby」