SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
ちょっと詳しくJavaScript 第2回【関数と引数】
2011年06月03日+2011年06月10日




                           株式会社ランチェスター
                           株式会社ランチェスター
                           TEL: 03-5775-3395 Fax:03-5775-3396
                           URL: http://www.lanches.co.jp/
ちょこっとだけ前回のおさらい
JavaScriptでは「Object」が最もシンプルなオブジェクト。
オブジェクトは様々な名前付きのプロパティを持てる。

var o = { prop : "val" };
alert(o.prop);          // 「val」と表示
alert(o["prop"]);       // これも

ちなみにここでの「o」もグローバルオブジェクト(ブラウザ内ならwindow
オブジェクト)のプロパティなので、

alert(this.o.prop);
alert(window["o"]["prop"]);

ということになります。

                    Proprietary and Confidential to Lanchester Co.,LTD.   Page 1
関数の定義による違い
FunctionDeclaration
       関数宣言

FunctionExpression
       関数式


FunctionStatement
       関数文(ECMAScriptにはなくJavaScript1.5からの拡張構文)
       (実装による問題が多く実践的ではないので説明しません)




                      Proprietary and Confidential to Lanchester Co.,LTD.   Page 2
FunctionDeclaration(関数宣言)
function f() {
        alert("func!");
}
f();    // 実行

if文などで実行文が1文の場合は { } を省略して
if(cond) alert("true");
という記述ができるが、function文は { } を省略することはできない。
※ 言語的な仕様による

関数を作る際に名前(ここではf)が存在するため
「名前付き関数」
などと呼ばれます。


                          Proprietary and Confidential to Lanchester Co.,LTD.   Page 3
FunctionExpression(関数式)
var f = function() {
        alert("func!");
}
f();    // 実行

if文などで(ry

関数を作る際には名前がなく、作った関数を変数fに代入しているだけ
なので
「無名関数」
などと呼ばれます。




                          Proprietary and Confidential to Lanchester Co.,LTD.   Page 4
~Declarationと~Expressionの違い
f();    // 実行可能
function f() {
        alert("func!");
}

g(); // 実行不可
var g = function() {
       alert("func!");
}

FunctionDeclarationはプログラムの実行に先立って評価されるためス
コープ内のどこにあっても問題なく実行できる。
FunctionExpressionは変数への関数(ポインタ的)代入が行われるまで
はundefined(未定義)となるため定義前には実行できない。

                          Proprietary and Confidential to Lanchester Co.,LTD.   Page 5
通称「名前付き無名関数」
var f = function n() {
        // ココ!
}

f();   // 実行可能
n();   // 実行不可

この形式が通称「名前付き無名関数」と呼ばれる状態。
ここで付けられた名前「n」は「ココ!」の中、つまり自分自身のスコープ
からしか参照できない。

何に使うねん・・・なんて思っちゃダメ。
無名関数を作りつつ再起処理を書きたいときに使えるのです!


                         Proprietary and Confidential to Lanchester Co.,LTD.   Page 6
関数もプロパティ(~Declaration編)
1.   alert(typeof(f));
2.   function f() { alert("func!"); }
3.   alert(typeof(f));
4.   f = "string!";
5.   alert(typeof(f));

概念的な実行順序は2→1→3→4→5となる。
2でfというプロパティに関数の代入が行われ、
1はfが関数のため「function」という表示がされ、
3でも当然「function」が表示される。
4で通常の文字列が代入されるため、
5では「string」と表示される。



                        Proprietary and Confidential to Lanchester Co.,LTD.   Page 7
関数もプロパティ(~Expression編)
1.   alert(typeof(f));
2.   f = function() { alert("func!"); }
3.   alert(typeof(f));
4.   f = "string!";
5.   alert(typeof(f));

実行順序は上から1→2→3→4→5となる。
1ではfが未定義のため「undefined」と表示される。
2でfというプロパティに関数の代入が行われるため、
3では「function」という表示がされる。
4で通常の文字列が代入されるため、
5では「string」と表示される。



                        Proprietary and Confidential to Lanchester Co.,LTD.   Page 8
Functionオブジェクト
ECMAScriptが標準的に持っているオブジェクト。

function f() {};
var f = function() {};
var f = new Function();

これらは(生成のタイミング以外ほぼ)等価です。
どっちがどっちのシンタックスシュガーという関係ではなく、内部的な変
数スコープの扱いが多少違います。

が、今回は同じものと思っておいて問題ありません。
※ 別の機会にちょっとだけ触れます



                     Proprietary and Confidential to Lanchester Co.,LTD.   Page 9
Functionオブジェクト
function f() {
        alert("func!");
};

に相当するFunctionオブジェクトの構築は

var f = new Function('alert("func!");');

のような形になります。




                          Proprietary and Confidential to Lanchester Co.,LTD.   Page 10
高階関数
「関数を引数にとる」、または「戻り値を関数とする」関数。

function add(a, b) { return a + b; }
function sub(a, b) { return a - b; }
function exec(func, a, b) { return func(a, b); }

alert(exec(add, 2, 3));                 // 関数としての「add」を渡している

そもそもプロパティとして関数を持っているので引数に渡すのも戻り値
で返すのも楽々。

この2つが簡単にできると「あのJava」が苦手なクロージャを簡単に作れ
ます。
が、クロージャについては割愛。

                      Proprietary and Confidential to Lanchester Co.,LTD.   Page 11
引数の個数(オーバーロードその1)
function disp(message) {
        alert(message);
}

よく見かける(?)こんな関数を次のように呼び出すと・・・

disp();                                // 「undefined」と表示
disp("Hello");                         // 「Hello」と表示
disp("Hello", "Good Bye");             // 「Hello」と表示

渡された実引数が順に仮引数に入っていく。
引数の数などは特にチェックされない。



                     Proprietary and Confidential to Lanchester Co.,LTD.   Page 12
argumentsオブジェクト
関数が実行された際に暗黙的に生成される引数等の情報を持ったオ
ブジェクトがプロパティとしてセットされる。
先ほどのdisp関数をargumentsオブジェクトを使って記述すると

function disp() {
        alert(arguments[0]);
}

のようになる。




                     Proprietary and Confidential to Lanchester Co.,LTD.   Page 13
argumentsオブジェクト
argumentsオブジェクトと引数を同時に扱うことも可能

function dispTotalScore(message) {
        var score = 0;
        for(var i=1; i<arguments.length; i++) {
                score += arguments[i];
        }
        alert(message + score);
}

dispTotalScore("Score is ", 10, 20, 30);                                    // 「Score is 60」

arguments[0]には当然messageと同じものが入っている。


                      Proprietary and Confidential to Lanchester Co.,LTD.                      Page 14
引数の型違い(オーバーロードその2)
var d = new Date(2011, 5, 10);                                            // 月は0~11
var d = new Date("June 10, 2011");

この2つは全く同じ日付「2011/06/10」を返すが、引数の個数、型が
いずれもバラバラ。

function myDate(yyyy, mm, dd) { … }
function myDate(dateString) { … }

こんな風に書いちゃうと当然上書きされてしまう。
どうすれば?




                    Proprietary and Confidential to Lanchester Co.,LTD.               Page 15
自分で(都合の良いように)頑張る
function dispType(v) {
        if( isNaN(v) ) {
                if( v instanceof Array ) {
                         alert("Array");
                } else {
                         alert("String");
                }
        } else {
                alert("Number");
        }
}
dispType([1,2]);
dispType("str");
dispType(12);

                       Proprietary and Confidential to Lanchester Co.,LTD.   Page 16
Functionオブジェクトで引数
var f = new Function("a", "b", "c", "return a+b+c");

var f = new Function("a, b, c", "return a+b+c");
var f = new Function("a, b", "c", "return a+b+c");

コンストラクタに渡された最後の引数が関数本体、その前に渡されたも
のを文字列としてカンマで連結したものが引数の名前となる。

var f = new Function("a, b,", "c", "return a+b+c");                         // エラー
var f = new Function("a, 0, c", "return a+b+c");                            // エラー




                      Proprietary and Confidential to Lanchester Co.,LTD.            Page 17
株式会社ランチェスター
株式会社ランチェスター
TEL: 03-5775-3395 Fax:03-5775-3396
URL: http://www.lanches.co.jp/

Weitere ähnliche Inhalte

Was ist angesagt?

詳説ぺちぺち
詳説ぺちぺち詳説ぺちぺち
詳説ぺちぺち
do_aki
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
Ransui Iso
 
ジェネリクスの基礎と クラス設計への応用
ジェネリクスの基礎とクラス設計への応用ジェネリクスの基礎とクラス設計への応用
ジェネリクスの基礎と クラス設計への応用
nagise
 

Was ist angesagt? (20)

詳説ぺちぺち
詳説ぺちぺち詳説ぺちぺち
詳説ぺちぺち
 
Swift らしい表現を目指そう #eventdots
Swift らしい表現を目指そう #eventdotsSwift らしい表現を目指そう #eventdots
Swift らしい表現を目指そう #eventdots
 
templateとautoの型推論
templateとautoの型推論templateとautoの型推論
templateとautoの型推論
 
プロトコル指向 - 夢と現実の狭間 #cswift
プロトコル指向 - 夢と現実の狭間 #cswiftプロトコル指向 - 夢と現実の狭間 #cswift
プロトコル指向 - 夢と現実の狭間 #cswift
 
From Java To Clojure
From Java To ClojureFrom Java To Clojure
From Java To Clojure
 
More C++11
More C++11More C++11
More C++11
 
C++11
C++11C++11
C++11
 
Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3
 
JavaScript 勉強会 ― 変数・演算子・文
JavaScript 勉強会 ― 変数・演算子・文JavaScript 勉強会 ― 変数・演算子・文
JavaScript 勉強会 ― 変数・演算子・文
 
C++14 Overview
C++14 OverviewC++14 Overview
C++14 Overview
 
F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~
 
unique_ptrにポインタ以外のものを持たせるとき
unique_ptrにポインタ以外のものを持たせるときunique_ptrにポインタ以外のものを持たせるとき
unique_ptrにポインタ以外のものを持たせるとき
 
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第5回 「配列 と レコード 」
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第5回 「配列 と レコード 」【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第5回 「配列 と レコード 」
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第5回 「配列 と レコード 」
 
traitを使って楽したい話
traitを使って楽したい話traitを使って楽したい話
traitを使って楽したい話
 
Visual C++で使えるC++11
Visual C++で使えるC++11Visual C++で使えるC++11
Visual C++で使えるC++11
 
Emcjp item21
Emcjp item21Emcjp item21
Emcjp item21
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
 
ジェネリクスの基礎と クラス設計への応用
ジェネリクスの基礎とクラス設計への応用ジェネリクスの基礎とクラス設計への応用
ジェネリクスの基礎と クラス設計への応用
 
Material
MaterialMaterial
Material
 
【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回 ‟変数と型„
 

Ähnlich wie ちょっと詳しくJavaScript 第2回【関数と引数】

ちょっと詳しくJavaScript 特別編【悪霊の神々】
ちょっと詳しくJavaScript 特別編【悪霊の神々】ちょっと詳しくJavaScript 特別編【悪霊の神々】
ちょっと詳しくJavaScript 特別編【悪霊の神々】
株式会社ランチェスター
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
Hiroshi Ono
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
Hiroshi Ono
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
Hiroshi Ono
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
yoshiaki iwanaga
 
Ekmett勉強会発表資料
Ekmett勉強会発表資料Ekmett勉強会発表資料
Ekmett勉強会発表資料
時響 逢坂
 
プログラマ講習第2回
プログラマ講習第2回プログラマ講習第2回
プログラマ講習第2回
Yuma Yoshimoto
 

Ähnlich wie ちょっと詳しくJavaScript 第2回【関数と引数】 (20)

ちょっと詳しくJavaScript 特別編【悪霊の神々】
ちょっと詳しくJavaScript 特別編【悪霊の神々】ちょっと詳しくJavaScript 特別編【悪霊の神々】
ちょっと詳しくJavaScript 特別編【悪霊の神々】
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第4回 ‟関数„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第4回 ‟関数„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第4回 ‟関数„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第4回 ‟関数„
 
F#によるFunctional Programming入門
F#によるFunctional Programming入門F#によるFunctional Programming入門
F#によるFunctional Programming入門
 
Swift 2.0 で変わったところ「前編」 #cswift
Swift 2.0 で変わったところ「前編」 #cswiftSwift 2.0 で変わったところ「前編」 #cswift
Swift 2.0 で変わったところ「前編」 #cswift
 
RubyとJavaScriptに見る第一級関数
RubyとJavaScriptに見る第一級関数RubyとJavaScriptに見る第一級関数
RubyとJavaScriptに見る第一級関数
 
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
第3回Webkit/HTML5勉強会 - File APIと加速度センサー第3回Webkit/HTML5勉強会 - File APIと加速度センサー
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
Kanazawa.js.Next
Kanazawa.js.NextKanazawa.js.Next
Kanazawa.js.Next
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
 
Ekmett勉強会発表資料
Ekmett勉強会発表資料Ekmett勉強会発表資料
Ekmett勉強会発表資料
 
Swift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswiftSwift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswift
 
from old Java to modern Java
from old Java to modern Javafrom old Java to modern Java
from old Java to modern Java
 
たのしい関数型
たのしい関数型たのしい関数型
たのしい関数型
 
プログラミング言語Scala
プログラミング言語Scalaプログラミング言語Scala
プログラミング言語Scala
 
JavaScript入門
JavaScript入門JavaScript入門
JavaScript入門
 
ATN No.2 Scala事始め
ATN No.2 Scala事始めATN No.2 Scala事始め
ATN No.2 Scala事始め
 
プログラマ講習第2回
プログラマ講習第2回プログラマ講習第2回
プログラマ講習第2回
 
やや関数型を意識した風Elixir/Phoenixご紹介
やや関数型を意識した風Elixir/Phoenixご紹介やや関数型を意識した風Elixir/Phoenixご紹介
やや関数型を意識した風Elixir/Phoenixご紹介
 

Mehr von 株式会社ランチェスター

Mehr von 株式会社ランチェスター (20)

【Web esSense】これぐらいは知っておきたい景表法の基礎知識
【Web esSense】これぐらいは知っておきたい景表法の基礎知識【Web esSense】これぐらいは知っておきたい景表法の基礎知識
【Web esSense】これぐらいは知っておきたい景表法の基礎知識
 
【書籍紹介】未来の働き方を考えよう
【書籍紹介】未来の働き方を考えよう【書籍紹介】未来の働き方を考えよう
【書籍紹介】未来の働き方を考えよう
 
【書籍紹介】型システム入門
【書籍紹介】型システム入門【書籍紹介】型システム入門
【書籍紹介】型システム入門
 
【web esSense】やりなおしのアクセス解析ツール学習~主にGoogle Analytics~
【web esSense】やりなおしのアクセス解析ツール学習~主にGoogle Analytics~【web esSense】やりなおしのアクセス解析ツール学習~主にGoogle Analytics~
【web esSense】やりなおしのアクセス解析ツール学習~主にGoogle Analytics~
 
【らぼ★ろぐ】jPlayerの紹介
【らぼ★ろぐ】jPlayerの紹介【らぼ★ろぐ】jPlayerの紹介
【らぼ★ろぐ】jPlayerの紹介
 
【書籍紹介】統計学が最強の学問である
【書籍紹介】統計学が最強の学問である【書籍紹介】統計学が最強の学問である
【書籍紹介】統計学が最強の学問である
 
【書籍紹介】伝え方が9割
【書籍紹介】伝え方が9割【書籍紹介】伝え方が9割
【書籍紹介】伝え方が9割
 
【らぼ★ろぐ】Web情報セキュリティ入門(OWASPのご紹介)
【らぼ★ろぐ】Web情報セキュリティ入門(OWASPのご紹介)【らぼ★ろぐ】Web情報セキュリティ入門(OWASPのご紹介)
【らぼ★ろぐ】Web情報セキュリティ入門(OWASPのご紹介)
 
【書籍紹介】こころを動かすマーケティング
【書籍紹介】こころを動かすマーケティング【書籍紹介】こころを動かすマーケティング
【書籍紹介】こころを動かすマーケティング
 
【Web es sense】MultipeerConnectivityについて
【Web es sense】MultipeerConnectivityについて【Web es sense】MultipeerConnectivityについて
【Web es sense】MultipeerConnectivityについて
 
【書籍紹介】勝ち続ける意志力
【書籍紹介】勝ち続ける意志力【書籍紹介】勝ち続ける意志力
【書籍紹介】勝ち続ける意志力
 
【書籍紹介】ドメイン駆動設計
【書籍紹介】ドメイン駆動設計【書籍紹介】ドメイン駆動設計
【書籍紹介】ドメイン駆動設計
 
【Web essense】KPIはじめました
【Web essense】KPIはじめました【Web essense】KPIはじめました
【Web essense】KPIはじめました
 
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!
 
【書籍紹介】ノンプログラマのためのJavaScript
【書籍紹介】ノンプログラマのためのJavaScript【書籍紹介】ノンプログラマのためのJavaScript
【書籍紹介】ノンプログラマのためのJavaScript
 
【書籍紹介】ゆるす力
【書籍紹介】ゆるす力【書籍紹介】ゆるす力
【書籍紹介】ゆるす力
 
【Web esSense】KPIって何だ??
【Web esSense】KPIって何だ??【Web esSense】KPIって何だ??
【Web esSense】KPIって何だ??
 
【書籍紹介】よくわかるJavaScriptの教科書
【書籍紹介】よくわかるJavaScriptの教科書【書籍紹介】よくわかるJavaScriptの教科書
【書籍紹介】よくわかるJavaScriptの教科書
 
Passbookとは_株式会社ランチェスター
Passbookとは_株式会社ランチェスターPassbookとは_株式会社ランチェスター
Passbookとは_株式会社ランチェスター
 
エンジニア的pinterest考察
エンジニア的pinterest考察エンジニア的pinterest考察
エンジニア的pinterest考察
 

Kürzlich hochgeladen

Kürzlich hochgeladen (12)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

ちょっと詳しくJavaScript 第2回【関数と引数】