Submit Search
CoffeeScript
0 likes
555 views
Ryo Maruyama
1 of 23
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
More Related Content
ODP
kpfx07 LT ruby-processingでイケメンになりたい
koki_h
PDF
WordPressで始めるphp入門
Hiroaki Murayama
PDF
入門 超絶技巧プログラミング !
Nobutada Matsubara
PDF
Collectionを使いこなす
Recruit Lifestyle Co., Ltd.
PDF
goog.ui.Component のはぐれかた
Soichi Takamura
PDF
traceur-compilerで未来のJavaScriptを体験
Toshio Ehara
PDF
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
PDF
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
kpfx07 LT ruby-processingでイケメンになりたい
koki_h
WordPressで始めるphp入門
Hiroaki Murayama
入門 超絶技巧プログラミング !
Nobutada Matsubara
Collectionを使いこなす
Recruit Lifestyle Co., Ltd.
goog.ui.Component のはぐれかた
Soichi Takamura
traceur-compilerで未来のJavaScriptを体験
Toshio Ehara
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
Similar to CoffeeScript
(20)
PDF
⑯jQueryをおぼえよう!その2
Nishida Kansuke
PDF
Haikara
jewel12
PDF
Favtile ~never write JS again~
hanachin
PDF
Aaなゲームをjsで
Moriyoshi Koizumi
PDF
Aaなゲームをjsで
Moriyoshi Koizumi
PPTX
Ember.js Tokyo event 2014/09/22 (Japanese)
Yuki Shimada
PDF
すごいHaskell読書会#1 in 大阪
yashigani
PDF
フロント作業の効率化
Yuto Yoshinari
KEY
Arctic.js
chikathreesix
PDF
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
leverages_event
PDF
Pythonで始めるDropboxAPI
Daisuke Igarashi
PDF
JavaScript/CSS 2015 Autumn
Koji Ishimoto
PDF
第3回 JavaScriptから始めるプログラミング2016
kyoto university
PDF
PHPerのためのSwift入門
Tomoki Hasegawa
PDF
プログラムの読み方
Takuya Otani
PDF
㉘HTML5+CSS3でアニメーション!
Nishida Kansuke
PDF
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
Etsuji Nakai
PDF
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
mametter
PDF
Functional JavaScript with Lo-Dash.js
Shogo Sensui
KEY
第3回BDD勉強会
zakihaya
⑯jQueryをおぼえよう!その2
Nishida Kansuke
Haikara
jewel12
Favtile ~never write JS again~
hanachin
Aaなゲームをjsで
Moriyoshi Koizumi
Aaなゲームをjsで
Moriyoshi Koizumi
Ember.js Tokyo event 2014/09/22 (Japanese)
Yuki Shimada
すごいHaskell読書会#1 in 大阪
yashigani
フロント作業の効率化
Yuto Yoshinari
Arctic.js
chikathreesix
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
leverages_event
Pythonで始めるDropboxAPI
Daisuke Igarashi
JavaScript/CSS 2015 Autumn
Koji Ishimoto
第3回 JavaScriptから始めるプログラミング2016
kyoto university
PHPerのためのSwift入門
Tomoki Hasegawa
プログラムの読み方
Takuya Otani
㉘HTML5+CSS3でアニメーション!
Nishida Kansuke
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
Etsuji Nakai
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
mametter
Functional JavaScript with Lo-Dash.js
Shogo Sensui
第3回BDD勉強会
zakihaya
Ad
More from Ryo Maruyama
(15)
PDF
jQuery勉強会#4
Ryo Maruyama
PDF
jQuery勉強会#3
Ryo Maruyama
PDF
Prototypeベース in JavaScript
Ryo Maruyama
PDF
jQuery勉強会#2
Ryo Maruyama
PDF
Webサーバの性能測定
Ryo Maruyama
PDF
Sphinx/reST
Ryo Maruyama
PDF
JSDoc ToolKit
Ryo Maruyama
PDF
JavaScript入門
Ryo Maruyama
PDF
画像を使わずにデザイン
Ryo Maruyama
PDF
AWS Vol.1
Ryo Maruyama
PDF
HTML Launcher
Ryo Maruyama
PDF
C2DM
Ryo Maruyama
PDF
勝手に改造 Chrome to Phone
Ryo Maruyama
KEY
レインボーテーブルを使ったハッシュの復号とSalt
Ryo Maruyama
ODP
プログラミング言語Ruby 1章 イントロダクション
Ryo Maruyama
jQuery勉強会#4
Ryo Maruyama
jQuery勉強会#3
Ryo Maruyama
Prototypeベース in JavaScript
Ryo Maruyama
jQuery勉強会#2
Ryo Maruyama
Webサーバの性能測定
Ryo Maruyama
Sphinx/reST
Ryo Maruyama
JSDoc ToolKit
Ryo Maruyama
JavaScript入門
Ryo Maruyama
画像を使わずにデザイン
Ryo Maruyama
AWS Vol.1
Ryo Maruyama
HTML Launcher
Ryo Maruyama
C2DM
Ryo Maruyama
勝手に改造 Chrome to Phone
Ryo Maruyama
レインボーテーブルを使ったハッシュの復号とSalt
Ryo Maruyama
プログラミング言語Ruby 1章 イントロダクション
Ryo Maruyama
Ad
CoffeeScript
1.
CoffeeScript
2012/01/18 h13i32maru@Twitter maruyama-r@KLab
2.
自己紹介 • 丸山 亮(h13i32maru)
最近はJSを触ってます • KLab株式会社所属 32 http://blog.h13i32maru.jp http://twitter.com/h13i32maru https://www.facebook.com/ryo.maruyama https://github.com/h13i32maru
3.
JavaScript
4.
JavaScriptって結構大変 • ファイルのinclude機構が無い • プロトタイプ指向 •
動的スコープ • 不思議なthis • などなど
5.
そこで、
6.
CoffeeScript
7.
CoffeeScriptとは • JavaScriptにコンパイル可能な小さな言語 • RubyやPythonから色々取り込んでる •
@jashkenasが作ってる - 他にもruby-processingなど • http://coffeescript.org/
8.
Language Reference
翻訳してみた http://d.hatena.ne.jp/h13i32maru/ 20120119/1326955300
9.
関数 func = (arg1,
arg2) -> arg1 * arg2 func = (arg1, arg2) -> x = arg1 * arg2 x * x
10.
レキシカルスコープ outer = 1 changeNumbers
= -> inner = -1 outer = 10 inner = 20 changeNumbers() alert [outer, inner]
11.
内包表記 eat food for
food in ['toast', 'cheese', 'wine'] countdown = (num * num for num in [10..1]) yearsOld = max: 10, ida: 9, tim: 11 ages = for child, age of yearsOld "#{child} is #{age}"
12.
配列のスライスとレンジ numbers = [0,
1, 2, 3, 4, 5, 6, 7, 8, 9] middle = numbers[3..6] numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] numbers[3..6] = [-3, -4, -5, -6]
13.
比較 if x is
0 if y isnt 100 cholesterol = 127 healthy = 200 > cholesterol > 60
14.
存在演算子 solipsism = true
if mind? and not world? zip = lottery.drawWinner?().address?.zipcode
15.
クラスと継承 class Animal
constructor: (@name) -> move: (meters) -> alert @name + " moved #{meters}m." class Snake extends Animal move: -> alert "Slithering..." super 5
16.
展開代入 theBait
= 1000 theSwitch = 0 [theBait, theSwitch] = [theSwitch, theBait]
17.
関数束縛 Account = (customer,
cart) -> @customer = customer @cart = cart $('.shopping_cart').bind 'click', (event) => @customer.purchase @cart
18.
文字列内変数展開 author = "Wittgenstein" quote
= "A picture is a fact. -- #{ author }"
19.
全てが式 i = 0 res
= while i isnt 10 i++ i * i #1,4,9,16,25,36,49,64,81,100 alert res
20.
ビルドシステム • Cake :
CoffeeScript付属のビルドシステム • MakeやRakeみたいなもの • ファイルの結合もできるよ!
21.
他にも • YAML的なオブジェクトの書き方 • if/unlessの後置記法 •
JavaScriptの埋め込み • ヒアドキュメント • 可変引数 • デフォルト引数 などなど
22.
翻訳をしてみて • コードのおかげでなんとなく翻訳できる • 7600文字の翻訳で10時間くらい •
ジョークっぽいのがあったけど上手く訳せず • 実は既に翻訳があったりするwww
23.
おわり
Download