SlideShare a Scribd company logo
自己紹介
名前:
日本語: グエン・ヴァン・ドゥック
ベトナム語: Nguyễn Văn Đức
ニックネーム : レン
年齢:23際
大学:ハノイ工科大学
趣味:スポーツ、PCゲーム
Get start
Have fun with Ruby
Table of contents
1. Ruby in normaly
2. How to program Ruby without using any numbers or letters
3. Summary
1.Ruby in normaly
1.Ruby in normaly
階乗 n! を計算する
1. Variable
2. Method
3. Number value
4. String
5. Structure
6. Output
2. How to use Ruby without using any
numbers or letters
1. Variable
In the normal case
my_number = 2
Without using letter
Rubyに「 _ 」とか「 $ 」などでVariable
が作られます
my_number = 2
<=>
_ = 2
2. How to use Ruby without using any numbers or letters
2. How to use Ruby without using any numbers or letters
2. Number
pid -> Integer
カレントプロセスのプロセス ID を返します。変数 $$ の値と同じです。
$$の値はいつも != 0
+,-,x,/, <<で任意ナンバーが作られます。
$$ / $$ = 1 $$ - $$ = 0
2. How to use Ruby without using any numbers or letters
2. Number
my_number = 2 は _ = $$ / $$ + $$ / $$ になります。
2. How to use Ruby without using any numbers or letters
3. String
my_string = "basic"
"basic" = "b" << "a" << "s" << "i" << "c"
ASCIIに基づけASCIIコードを使って、Stringが作られます。
"b" << "a" << "s" << "i" << "c" <=> '' << 98 << 97 << 115 <<105 << 99
2. How to use Ruby without using any numbers or letters
3. String
結果:
__ = '' << 98 << 97 << 115 <<105 << 99
2. How to use Ruby without using any numbers or letters
4. Method
メソッドの理想
“package code first, call it later”
Procとほぼ一緒です。
my_proc = Proc.new{|x| x + 1; p x}
... # more code
my_proc.call(2) #=> 3
2. How to use Ruby without using any numbers or letters
4. Method
文字と数字を削除する
_ = $$/$$
___ = Proc.new{|__| __ + _; p __}
... # more code
___.call(_+_) #=> 3
my_proc = Proc.new{|x| x + 1; p x}
... # more code
my_proc.call(2) #=> 3
Proc.newの代わりに、 -> シンボルが作られます。
call使わず、 [] シンボルが作られます。
2. How to use Ruby without using any numbers or letters
4. Method
結果:
_ = $$/$$
___ = -> {|__| __ + _; p __}
... # more code
___.[(_+_)] #=> 3
my_proc = Proc.new{|x| x + 1; p x}
... # more code
my_proc.call(2) #=> 3
ほぼ完了しました。
2. How to use Ruby without using any numbers or letters
5. Structure
どんな言語でも、Structureの種類は3つがあります。
1. Sequence
2. Selection
3. Iteration
2. How to use Ruby without using any numbers or letters
5.1. Sequence
sequenceでは, 普通な実装です。上から下までで実行します。
=> 問題ない。
2. How to use Ruby without using any numbers or letters
5.2. Selection
文字禁止なので、if-esleが使えない。
だが、if-elseの代わりに、?:のシンタックスで置き換えることができます
2. How to use Ruby without using any numbers or letters
5.3. Interation
ループを作るために、再帰とProcシンタックスを兼ねる。。
普段:
(1..10).each do |x|
p x
end
(___ = -> {
x += 1
p x
x <= 10 ? ___[] : 0
})[]
2. How to use Ruby without using any numbers or letters
6. Output
今まで、結果を表示するために、putsのコマンドを作っています。
Rubyに$>シンボルはputsの使い方と同じです。
puts "basic" <=> $> '' << 98 << 97 << 115 <<105 << 99 # => basic
3. Summary
3.1 Example
3. Summary
3.1 Example
3. Summary
3.2. Summary
for Fun and Not Much Else!!
3. Summary
ご清聴ありがとうございます。

More Related Content

More from basicinc_dev

画像処理アルゴリズム入門とcanvas
画像処理アルゴリズム入門とcanvas画像処理アルゴリズム入門とcanvas
画像処理アルゴリズム入門とcanvas
basicinc_dev
 
メール送信におけるスパム認定のリスクと対策
メール送信におけるスパム認定のリスクと対策メール送信におけるスパム認定のリスクと対策
メール送信におけるスパム認定のリスクと対策
basicinc_dev
 
構造化データマークアップでステキな検索結果を手に入れる
構造化データマークアップでステキな検索結果を手に入れる構造化データマークアップでステキな検索結果を手に入れる
構造化データマークアップでステキな検索結果を手に入れる
basicinc_dev
 
Js初心者だった僕が武器を手に入れるまで ~ fall in love with react ~
Js初心者だった僕が武器を手に入れるまで ~ fall in love with react ~Js初心者だった僕が武器を手に入れるまで ~ fall in love with react ~
Js初心者だった僕が武器を手に入れるまで ~ fall in love with react ~
basicinc_dev
 
悪いRegexと良いregexと最良regex
悪いRegexと良いregexと最良regex悪いRegexと良いregexと最良regex
悪いRegexと良いregexと最良regex
basicinc_dev
 
Safe stringにgsubを実行できるように対応
Safe stringにgsubを実行できるように対応Safe stringにgsubを実行できるように対応
Safe stringにgsubを実行できるように対応
basicinc_dev
 
My sql viewに救われる(かもしれない)
My sql viewに救われる(かもしれない)My sql viewに救われる(かもしれない)
My sql viewに救われる(かもしれない)
basicinc_dev
 
君に届け!〜カテゴライズしたユーザーにメッセージを送る〜
君に届け!〜カテゴライズしたユーザーにメッセージを送る〜君に届け!〜カテゴライズしたユーザーにメッセージを送る〜
君に届け!〜カテゴライズしたユーザーにメッセージを送る〜
basicinc_dev
 
エンジニアがチームで数字を追って得たもの
エンジニアがチームで数字を追って得たものエンジニアがチームで数字を追って得たもの
エンジニアがチームで数字を追って得たもの
basicinc_dev
 
マーケティング視点でのデザイン
マーケティング視点でのデザインマーケティング視点でのデザイン
マーケティング視点でのデザイン
basicinc_dev
 
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜHUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
basicinc_dev
 
インフラ(Aws)覚えたいそんなあなたへ!
インフラ(Aws)覚えたいそんなあなたへ!インフラ(Aws)覚えたいそんなあなたへ!
インフラ(Aws)覚えたいそんなあなたへ!
basicinc_dev
 
Linuxのファイルシステムについて調べてみた
Linuxのファイルシステムについて調べてみたLinuxのファイルシステムについて調べてみた
Linuxのファイルシステムについて調べてみた
basicinc_dev
 
良いクラス設計とは?
良いクラス設計とは?良いクラス設計とは?
良いクラス設計とは?
basicinc_dev
 

More from basicinc_dev (14)

画像処理アルゴリズム入門とcanvas
画像処理アルゴリズム入門とcanvas画像処理アルゴリズム入門とcanvas
画像処理アルゴリズム入門とcanvas
 
メール送信におけるスパム認定のリスクと対策
メール送信におけるスパム認定のリスクと対策メール送信におけるスパム認定のリスクと対策
メール送信におけるスパム認定のリスクと対策
 
構造化データマークアップでステキな検索結果を手に入れる
構造化データマークアップでステキな検索結果を手に入れる構造化データマークアップでステキな検索結果を手に入れる
構造化データマークアップでステキな検索結果を手に入れる
 
Js初心者だった僕が武器を手に入れるまで ~ fall in love with react ~
Js初心者だった僕が武器を手に入れるまで ~ fall in love with react ~Js初心者だった僕が武器を手に入れるまで ~ fall in love with react ~
Js初心者だった僕が武器を手に入れるまで ~ fall in love with react ~
 
悪いRegexと良いregexと最良regex
悪いRegexと良いregexと最良regex悪いRegexと良いregexと最良regex
悪いRegexと良いregexと最良regex
 
Safe stringにgsubを実行できるように対応
Safe stringにgsubを実行できるように対応Safe stringにgsubを実行できるように対応
Safe stringにgsubを実行できるように対応
 
My sql viewに救われる(かもしれない)
My sql viewに救われる(かもしれない)My sql viewに救われる(かもしれない)
My sql viewに救われる(かもしれない)
 
君に届け!〜カテゴライズしたユーザーにメッセージを送る〜
君に届け!〜カテゴライズしたユーザーにメッセージを送る〜君に届け!〜カテゴライズしたユーザーにメッセージを送る〜
君に届け!〜カテゴライズしたユーザーにメッセージを送る〜
 
エンジニアがチームで数字を追って得たもの
エンジニアがチームで数字を追って得たものエンジニアがチームで数字を追って得たもの
エンジニアがチームで数字を追って得たもの
 
マーケティング視点でのデザイン
マーケティング視点でのデザインマーケティング視点でのデザイン
マーケティング視点でのデザイン
 
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜHUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
 
インフラ(Aws)覚えたいそんなあなたへ!
インフラ(Aws)覚えたいそんなあなたへ!インフラ(Aws)覚えたいそんなあなたへ!
インフラ(Aws)覚えたいそんなあなたへ!
 
Linuxのファイルシステムについて調べてみた
Linuxのファイルシステムについて調べてみたLinuxのファイルシステムについて調べてみた
Linuxのファイルシステムについて調べてみた
 
良いクラス設計とは?
良いクラス設計とは?良いクラス設計とは?
良いクラス設計とは?
 

Recently uploaded

Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 

Recently uploaded (8)

Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

Have fun-with-ruby

  • 1. 自己紹介 名前: 日本語: グエン・ヴァン・ドゥック ベトナム語: Nguyễn Văn Đức ニックネーム : レン 年齢:23際 大学:ハノイ工科大学 趣味:スポーツ、PCゲーム
  • 4. Table of contents 1. Ruby in normaly 2. How to program Ruby without using any numbers or letters 3. Summary
  • 6. 1.Ruby in normaly 階乗 n! を計算する 1. Variable 2. Method 3. Number value 4. String 5. Structure 6. Output
  • 7. 2. How to use Ruby without using any numbers or letters
  • 8. 1. Variable In the normal case my_number = 2 Without using letter Rubyに「 _ 」とか「 $ 」などでVariable が作られます my_number = 2 <=> _ = 2 2. How to use Ruby without using any numbers or letters
  • 9. 2. How to use Ruby without using any numbers or letters 2. Number pid -> Integer カレントプロセスのプロセス ID を返します。変数 $$ の値と同じです。 $$の値はいつも != 0 +,-,x,/, <<で任意ナンバーが作られます。 $$ / $$ = 1 $$ - $$ = 0
  • 10. 2. How to use Ruby without using any numbers or letters 2. Number my_number = 2 は _ = $$ / $$ + $$ / $$ になります。
  • 11. 2. How to use Ruby without using any numbers or letters 3. String my_string = "basic" "basic" = "b" << "a" << "s" << "i" << "c" ASCIIに基づけASCIIコードを使って、Stringが作られます。 "b" << "a" << "s" << "i" << "c" <=> '' << 98 << 97 << 115 <<105 << 99
  • 12. 2. How to use Ruby without using any numbers or letters 3. String 結果: __ = '' << 98 << 97 << 115 <<105 << 99
  • 13. 2. How to use Ruby without using any numbers or letters 4. Method メソッドの理想 “package code first, call it later” Procとほぼ一緒です。 my_proc = Proc.new{|x| x + 1; p x} ... # more code my_proc.call(2) #=> 3
  • 14. 2. How to use Ruby without using any numbers or letters 4. Method 文字と数字を削除する _ = $$/$$ ___ = Proc.new{|__| __ + _; p __} ... # more code ___.call(_+_) #=> 3 my_proc = Proc.new{|x| x + 1; p x} ... # more code my_proc.call(2) #=> 3 Proc.newの代わりに、 -> シンボルが作られます。 call使わず、 [] シンボルが作られます。
  • 15. 2. How to use Ruby without using any numbers or letters 4. Method 結果: _ = $$/$$ ___ = -> {|__| __ + _; p __} ... # more code ___.[(_+_)] #=> 3 my_proc = Proc.new{|x| x + 1; p x} ... # more code my_proc.call(2) #=> 3 ほぼ完了しました。
  • 16. 2. How to use Ruby without using any numbers or letters 5. Structure どんな言語でも、Structureの種類は3つがあります。 1. Sequence 2. Selection 3. Iteration
  • 17. 2. How to use Ruby without using any numbers or letters 5.1. Sequence sequenceでは, 普通な実装です。上から下までで実行します。 => 問題ない。
  • 18. 2. How to use Ruby without using any numbers or letters 5.2. Selection 文字禁止なので、if-esleが使えない。 だが、if-elseの代わりに、?:のシンタックスで置き換えることができます
  • 19. 2. How to use Ruby without using any numbers or letters 5.3. Interation ループを作るために、再帰とProcシンタックスを兼ねる。。 普段: (1..10).each do |x| p x end (___ = -> { x += 1 p x x <= 10 ? ___[] : 0 })[]
  • 20. 2. How to use Ruby without using any numbers or letters 6. Output 今まで、結果を表示するために、putsのコマンドを作っています。 Rubyに$>シンボルはputsの使い方と同じです。 puts "basic" <=> $> '' << 98 << 97 << 115 <<105 << 99 # => basic
  • 23. 3. Summary 3.2. Summary for Fun and Not Much Else!!