More Related Content
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby nomlab_okayamaruby_subslide Swift の可変値と不変値 #cocoa_kansai What's hot (20)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9) Refactoring point of Kotlin application プログラミング言語 Ruby 2章 Rubyプログラムの構造と実行 コードに基づくモデルによる IntelliCode プリキュアのRuby実装の紹介 #RubyHiroba First step of Rails Contribute #shibuyarb で、次は何がくるの? - 第2回 TIS Matsuri Rubyでプリキュアを作った #cure_advent #shibuyarb 20130615 組込みの仕事場でRubyを使う Rubyist started to learn Groovy - things important to leran new LL TypeScript & 関数型講座 第2回 TypeScript という言語 Similar to プログラミング言語Cyanの紹介 (20)
プログラミング言語Ruby 1章 イントロダクション Lightning introduction to CoffeeScript 20131005 More from baban ba-n (11)
Typusとadministrateを比較してみよう ハッカソン。来た、見た、負けた! Spajam2016仙台予選 Rubyのコードを読んでみよう(オブジェクト編) Rails-Plugin Flexturesの紹介 プログラミング言語Cyanの紹介
- 5. 基本的な構文
●
●
[1, 2, 3 ,4] # リスト
%{ "Mt. Fuji" => "Shizuoka", "Mt. Aso" =>
"Kumamoto" } # ハッシュ
{ say(“HELLO”); } # ブロック
^(x) { say(x); } # ラムダ
LL 言語使いなら見慣れた書式に近いのが分か
る
- 10. 基本的な構文
●
引数クラスと引数展開
say &(1, *[2, 3], *%{ 'a => 4 }, *&(5, :b 6)) #=>
&(1, 2, 3, 5, :a 4, :b 6)
●
●
●
「 * 」で配列を展開して受け取る
引数の末尾では {} を省略してハッシュを渡
せる
「 & 」は " 引数オブジェクト " の定義記号
JS と Ruby 両方の合わせ技なカンジです
- 12. マクロの基本構文
準クォート「 ` 」の中で「 ? 」付けた変数は
展開されてプログラム中に埋め込まれる
recv = 2
args = &({ say "meow" })
# 2.times({ say("meow") }) という式を表示
say `(?recv).times(?*args)
- 15. Cyan の特徴 2 メソッド編
●
List に定義されているメソッドを見る
http://www.geocities.jp/takt0_h/cyan/doc/ref/objects/lis
中身 :
car()
self の car を返します。
cdr()
self の cdr を返します。
car と cdr しか定義されていない!!
- 18. Object.cy の中身
●
他にも object.cy のファイル名があるので中
を見てみる
def(Object.init)^{}
def(Object.new)^(&args args):
obj := .child()
obj.init(*args)
obj
オブジェクトの定義そのものがマクロ
- 24. Cyan の欠点 3
●
If 文で謎のインデントを強いられる
if( false ):
say "true"
else: # else が1文字インデントしている
say "false`"
インデントしないと変数と勘違いして
「 error: unbound variable: else 」
正直我慢できる程度に慣れる事はあっても、
生涯に渡って好きにならない自信がある
- 26. Cyan 総論 1
Cyan 自体が生み出した新規の概念などは見
当たらないが他の言語の強力な書式をバラン
スよくまとめてある
Lisp の様に、今記述している問題を、関数や
マクロに切り出して、”対象の本質とは何
か”を切り出す力強さを持っている
Cyan=( 思案 ) という言語の名前の由来の一つ
でもある