F#マスターへの道内検索 / 「letとshadowing」で検索した結果
-
letとshadowing
letとshadowing 代入と束縛 僕が始めてF#のソースを見た時、最初にドン引きした記述がこの let x = 1 という表記でした。これを見たとき頭に浮かんだのは、僕が中学のとき触れた日立の「BasicMaster Jr.」というパソコンのBASICでした。この頃のBASICには、代入文にletを書く必要があったのです。その後、NECのPC-8801でのN88-BASICではletを必要としなくなったため、代入がletで始まるというのはまさに「ここまで戻らないといけないのか・・・・」という衝撃だったのです。 実際、BASICから始めてPASCAL、C、VB、C++、Javaという言語遍歴の僕にとって、関数型言語というのは「そこまで戻らないといけないもの」であったわけですが、このlet文の衝撃はその巻き戻しのスタート地点ともいえるものでした。正直、関数型言語になじむ...
-
メニュー
...の その他 letとshadowing TDDの実践 二桁の数の秘密 Win8・Winタブ・VS11 動的計画法 エッシャーの爬虫類 ペンローズ・タイル イメージPDFファイルの処理 型から始めるプログラミング 姉妹サイト 教えて!アロイ人! Software Foundations日本語版 取得中です。 ここを編集
-
Win8・Winタブ・VS11
WindowsタブレットとF#とWindows8とVS11と私 Acer Iconiatab W500とWindows8 こんな感じです。 付属PDFリーダーとSICP日本語版 付属PDFリーダーは、これだけでWindows8入れる意味があるほど快適です。さらばAdobeReader。 Windowsタブのちょっと縦長の画面は、大部分の自炊技術書で余白を取るとぴったりトリミングが合います。SICPなど、このためにモニタの縦横比を決めたのかと思うほどです。 ちなみにSICPとは、「計算機プログラムの構造と解釈」という、その筋ではバイブル的な本です。 VisualStudio11とF#3.0 VSはレイアウト変更が自在なので、縦に使ってもまったく違和感がありません。 ソフトウェアキーボード これで電車で立ったまま入力...
-
イメージPDFファイルの処理
スキャナが出力したPDFを、出力デバイスに合わせて変換しよう この記事はF# Advent Calender 2012の11日目(10個目)の記事です。ひとつ前の記事はyukitos22さんのTypeProvider関連の丁寧な記事で、これを書き終わったら手を動かして試してみたいところです。 さて、主催者様の「実用的な」というお題を僕はそのまま字面通りとってしまい、「仕事以外に、F#で実用的なプログラムを書いたっけ・・・」などと回想した結果ひねり出したのがこのネタです。 いささか「実用」というよりは「オレ用」という感じもしなくはないのですが・・・ 僕が富士通の名作ドキュメントスキャナS1500を購入したのは、ひとえにオライリーの「プログラミング F#」や技評の「実践F#関数型プログラミング入門」を持ち歩くのが辛かったからである、と言っていいほど僕の中でF#と...
-
ひまわりっぽいの
黄金の花を愛でる - 素数夜曲より - 整数論の独学者用教科書「素数夜曲」がリニューアルされたので、コンテンツで遊んでみました。この本で取り上げられているプログラミング言語はSchemeなので、それをまぁF#に移植しただけとも言いますが.... 詳しいことは本を買って読んでください。整数論の玉手箱をひっくり返したような本で、いわば「宝の山」です。 ソース // Himawari K. Katayama with Sosuu Yakyoku open System open System.Drawing open System.Windows.Forms let a = 1 let b = 13 let rational x y = Seq.unfold (fun n - if n = 0 then None ...
-
C#フォームとの連携
画面はC#業務はF# F#一筋の人は、画面もF#で作ってしまうのでしょうが、F#には今のところフォームデザイナーが使えないため、画面フォームはC#で作り、ボタンを押した処理だけF#で作る、と言う選択をとることも少なくないのではないでしょうか。 ここでは、そのために必要な情報を整理しておきます。特にF#では非同期処理をすることが多く、その処理の中から画面に処理状況を表示していく方法を示していきたいと思います。 プロジェクト作成 どちらが先でもいいのですが、C#でWindowsフォームのプロジェクトを作成します。 そして、F#のライブラリプロジェクトを、同じソリューションに作成します。「F# Library」と「ソリューションに追加」を選択してプロジェクト名を入れればOKです。 こんな風に二つのプロジェクトが一つのソリューションになればOKで...
-
エッシャーの爬虫類
エッシャーの「爬虫類」 - 平面を敷き詰める - 先日、色々調べ物をしているうちに、英語のWikipediaで「壁紙の分類」というのを見つけてしまいました。平面を埋め尽くせる図形は、ここに挙げた17パターンのいずれかに属するとのこと。ほう。 これを見ていて、「ゲーデル・エッシャー・バッハ」に育てられた感のある僕は、「それではあの図形がこの中のどれに属するのか」という疑問を持ったのです。あの図形とエッシャーの「爬虫類」です。 この幾何学模様に魅せられたのは中学校ぐらいの時でしたが、その体験が後になって大学の図書館で前述の本を手に取るきっかけになり、毎日図書館通いをした挙句大学も中退し、さらにいろいろあって今の僕があるのですから人生わかりません。とにかく当時中学生の僕は何時間もこのトカゲを見続けたにもかかわらず、その時はその構造を見抜くことができませんでした。まぁその程度の中学生だ...
-
丸めワークフローはモナド?
丸めワークフローはモナドなのか?モナドとワークフローの境界を探る Haskellでいうところのモナドのお約束は 型構築子 Return Bind という三つ組みで、それぞれに満たすべき性質があります。 このうち、下の二つはF#のワークフローでも必須のものなのですが、最初の型構築子については必ずしも要求されていないところがあります。 それがよく分かるのが、「Programming F#」の「丸めワークフロー」です。 type ReoundingWorkflow(sigDigs int) = let round (x float) = Math.Round(float x, sigDigs) member this.Bind(result float, rest float - float) = let result = roun...
-
while展開編
StatefulFuncはなぜ動くか while展開編(オマケ) 1.whileを使ったループの導入 StateBuilderにはWhileメソッドも実装されており、計算式の中にwhileループを記述できます。whileループはその構造上破壊的な代入が伴うのであまり関数型プログラミングで使われることがありませんが、せっかくなのでこれも試してみましょう。などと調子よく書き始めてから色々試したのですが、想像以上にイバラの道でした。ほとんど参考になる情報がなく、あっても間違っていたりで何日も悩まされました。 そんなこんなで書いたのがこのclaculatorActionsです。 let GetTotal = StatefulFunc (fun (total, history) - total, (total, history)) let calculatorActions =...
-
シーケンス式はどう動いているのか
シーケンス式はどう動いているのか 実を言うと、僕がF#に入れ込んでいる理由の半分ぐらいはこの「シーケンス式」に惚れたことではないかと思うほど、個人的にSequence式を気に入っている僕なのですが、周りの人(ほとんどJava使い)に熱く語れば語るほど「ぽか~ん」とされるのもまたこのシーケンス式なのです。関数型言語を知らない人にとって、見よう見まねで使うことはできても、これほど不思議な動きをするプログラムはあまりないのではないかと思うのです。 とはいえ、周りの人を「ポカン」化してしまう理由の多くは僕の説明にあり、説明が伝わらない理由は僕自身がその中で何が起こっているのかをちゃんと分かっていないせいである、ということもはっきりしているので、シーケンスの裏の動きを追いかけてみることにしました。 しかし、F#のシーケンス式について深く書かれた日本語の文献も少なく、「Programmin...
-
Add展開編
Add/Subtract/Multiply/Divide展開編 これらの関数は四つありますが、見て分かるように中の演算子が違うだけで内容的にはほぼ同じものです。なので、代表としてAddを展開し、その結果を見て他の三つも展開することにしましょう。 関数展開の基本は、内側から、前からの順番に行います。ただ、どの順でやってもできないということはなく、途中の分かりやすさが若干違うだけのことも多いので、あまり展開順にこだわらず、どこからやっても展開できるような基礎体力をつけておくことも重要です。 というわけで、まな板の上にAdd関数の定義を載せます。VisualStudioを使っている人は、StateBuilderやGetState、SetState、StatefulFunc、Runなどの定義と一緒にソース上に貼り付け、コンパイルエラーが出ない状態にしてください。。 l...
-
ペンローズ・タイル
平面充填のもう一つの形 --ペンローズタイル-- 平面充填といえばこの話を避けて通ることはできないでしょう。イギリスの物理学者、ロジャー・ペンローズが提示した、平面充填のパターンで、繰り返しに周期性を持たない非常にレアものです。 調べてみると、ペンローズタイル作成のプログラムはlispで書かれたものがなかなかの出来で、これをF#に移植してみました。 module Penrose open System open System.Drawing open System.Drawing.Imaging let xm = 1024 let ym = 768 let gl = (1.0 + Math.Sqrt(5.0)) / 2.0 // 黄金比 let OutBitmap = new Bitmap(xm, ym, PixelFormat.Format24b...
-
型から始めるプログラミング
型から始めるプログラミング この記事は「F# Advent Calendar 2013」16日目の記事です。 型に導かれて 静的な強い型を持った関数型プログラミングにある程度馴染んでくると、次第に「コンパイルを通ったものは大抵動く」という不思議な感覚を持つようになります。この感じは手続き型プログラミングしかやったことがない人にはなかなか伝わらないもので、そんな話をしても大体「そんなわけあるわけないwww」というような反応を受け、こちらもうまく伝えられずモゾモゾすることになりがちです。 もちろん「コンパイル通ればできてる」というのが正しくない、というのは分かりきったことなのですが、「コンパイルを通った時点で動いたものに何の問題もなかった」という事象の確率がかなり高いのもまた統計的なデータこそないものの皆様肌で感じているのではないかと思います。 こういう「...
-
オブジェクト指向とワークフロー
オブジェクト指向フレームワークとワークフロー(モナド) 今現在、Javaでフレームワークを設計する仕事をしている以上、今作っているようなものをどのような形にすればF#に持ち込むことができるのか、ということには当然興味の焦点のひとつになってしまいます。 以前、Javaでやっているライブラリを移植しようとあれこれ考えているうちに、結局F#でもオブジェクト指向に走ってしまい、結局プログラムの枠組みが変わらない、そのまま移植したようなプログラムになってしまったことがあります。オブジェクト指向で作っていると、ある程度は破壊的代入を前提としたクラスを作らざるを得ず、「これならC#でもいいじゃないか」と自分で思ってしまうようなプログラムでした。 こういう選択肢を取れることもF#(OCaml)の強みなのかも知れませんが、できることならF#なりのプログラムの形を追及してみたいところです。 ...
-
TDDの実践
テスト駆動開発の練習 テストしながら作るということ アジャイルとかXPとか言われてもう久しいのですが、日本の開発現場にはまだまだ浸透していないようです。僕も仕事でやらしてもらうのは不可能っぽいんで、一人でやってみました。お題は、アジャイル開発の例でよく使われる「ボーリングのスコア計算」です。 ボウリングのスコア計算ルール ボウリングをやったことをある人は分かると思いますが、あの計算方法は他に類を見ない独特のもので、それがある意味単純なボウリングという競技を熱くさせている要因に思えます。それは以下のようなものです。 基本的に投げるごとに倒したピンの数の和がスコア ただし、1投目で倒せなかったピンがあったら、2投目を投げる。 1投目で倒したピンの数が10なら、ストライクとなり、その次、その次の次に倒したピンの数をストライクの点に加算する。 1投目がストライクでなく、2投目で倒...
-
StatefulFuncの意味的理解
StatefulFunc/StateBuilderとは何なのか これまで書いてきたことを読んでいただけると、StatefulFunc/StateBuilderについて「入力してコンパイルすると確かに動くけど、なぜどのように動いているかさっぱりわからない」という状態は脱出できると思います。しかしこれは単に機械が動く仕組みを理解できただけで、その設計意図や目的が理解できたわけではありません。第一、普通のプログラムを読むときにこのような読み方はしません。変数の意図などを考え、その値がどのように使われた結果、どこでどのようなことが起こって結果が発生しているのか、という道筋でプログラムを解釈するのが普通だと思います。 ここでは、StatefulFunc/StateBuilderが、意味的にどのように動いているかを解説したいと思います。とはいえ、StateffuiFunc/StateBuil...
-
リストとの類似
ワークフローとリスト処理 ワークフローの構造、特にBindの中身をじっと見ていると、どこかリスト処理を髣髴とさせる構造が見えてきます。今回、その辺の空気がどのあたりから感じられるのかを探ってみたいと思います。 1.Bindの中身 すでに何度も貼ったコードですが、もう一度よく見てみましょう。 member this.Bind( result StatefulFunc state, a , restOfComputation a - StatefulFunc state, b ) = StatefulFunc(fun initialState - let result, updatedState = Run result initialState Run...
-
年俸1000万の会社の試験問題
年俸1000万の会社の試験問題 名古屋Scala練習場の問題がTwitterに取り上げられていたので、F#で挑戦してみました。 シーケンスの練習問題としてとてもいい問題なのではないかと思います。 お題 4種類のアルファベット "A,C,G,T" から成るn文字の文字列のうち、"AAG"という並びが含まれる文字列を全て列挙するプログラムを書きなさい。ただし、nは3以上の整数とし、文字列内に同じアルファベットが出現しても構わないものとし、出力順序は問わないものとします。 ... 適性検査に合格された方はその生産性を実現可能な方です。生産性に見合う初任給として年俸1000万円をご用意しております。 元ネタはこちら (しかしハニトラっぽいなぁこれ)っていうか、適性検査はPerlまたはJavaって書いてあるw F#だと...
-
動的計画法
月謝3500円のそろばん塾で出たチャレンジ問題(動的計画法で) この記事の続きです。 Arigataさんが書かれたエントリをフムフムと呼んでいて、MSのソルバに興味を持ちつつ、そもそも「部分和問題」という言葉も「ナップザック問題」という言葉も知らなかった自分の不勉強に恥じ、ちゃんと勉強しないとなぁ・・・と考えているだけの日々を送っていたのですが、何の因果か「アルゴリズムを学ぼう」などという本が絶好のタイミングで出てしまい、この中にこの「ナップザック問題」の解説が乗っていたので、これを参考にF#で「動的計画法」を使った解法を試してみることにしました。 お題自体は前回のこのエントリと同じです。 動的計画法 まず基礎知識として、このそろばん塾の問題は、「部分和問題」という有名なカテゴリに属する問題で、金額の部分が整数でない場合には「NP完全」という、要素数が...
-
StatefulFuncはなぜ動くか
StatefulFuncはなぜ動くのか? このページを見ているあなた、きっとオライリーの「Programming F#」を読み進めて、StatefulFunc(stateワークフロー)の理解に躓き、「何でこんなに分からないんだろう」「他の人は理解できているのだろうか」とStatefulFunc(もしくはstateワークフロー、状態ワークフロー、StateBuilder、計算式、コンピュテーション式、計算のビルドなど)というキーワードで検索して、何か情報はないかとここを見ているのではないでしょうか。 心配要りません。あなたは普通の人です。あの説明で理解できる人は、他の関数型言語(Haskellなど)をすでに十分理解している人だと思います。F#が初めての関数型言語、という人は、あの説明で分からなくてむしろ当たり前です。 「Programming F#」最大のヤマ場「Sta...
-
二桁の数の秘密
二桁の数の秘密 残念なできごと つい先日、何かの調べ物をしていて、なかなか面白いサイトを見つけました。しばし仕事も忘れて読みふけっていたのですが、その中にとても興味深いネタがあったので、つい検証プログラムを書いてしまいました。 2桁の数の秘密 で、3月に入ってまた見てみると、驚いたことにそのサイトのサービス自体が2012年2月末で停止していました。僕は停止寸前のサイトをたまたま見ていたのです。 http //page.cafe.ocn.ne.jp/profile/suugakupazuru/diary/d2337 このサイト、とても面白いので、どこかでまた復活してもらえるとうれしいのですが・・・その想いもこめて、先日書いた検証プログラムをここに載せてみたいと思います。 お題 Googleのキャッシュはいつ消えてしまうかわからないので、失礼と...
-
calculatorActions展開編
もう一山登るぞcalculatorActions展開編 Add関数の正体が分かったところで、残ったcalculatorActionsの征服にかかりましょう。「Programming F#」ではもう少し式が加えられていますが、何行並んでいても本質的には同じなので、returnを入れて3行の式とします。これをVisualStudioに載せてコンパイルが通り、 let res, stat = Run calculatorActions (0, []) の実行結果を確認するところから始めましょう。 let calculatorActions = state { do! Add 2 do! Multiply 3 return "完了!" } 1.Add、Multiplyの展開 まず小手調べに、AddとMultiplyを「...
-
月謝3500円のそろばんの問題
月謝3500円のそろばん塾で出たチャレンジ問題 「子供が通っているそろばん塾で、みんなで競う系の問題が出されたのを見ていると、ちょっとムズムズしてしまいVS2008を起動してしまった、の巻き」です・・・大人気ない。 お題 商品 金額 プロ野球 19373円 ディズニーランド 20453円 回転ずし 15906円 ピアニカ 3351円 子供部屋リフォーム 238440円 . . . というような商品リストがあり、この中で好きな組み合わせで買い物をして、合計が50万円に一番近い人の勝ち、というものです。 データの用意 とりあえず、こんなリストを作ってデータを与えます。 let goods = [ ("プロ野球", 19373) ("ディズニーランド", 20453) ...
-
for展開編
StatefulFuncはなぜ動くか for展開編(オマケ) 1.forを使ったループの導入 StateBuilderにはForメソッドがきちんと実装されており、計算式の中にforループを記述することができます。試してみましょう。 let calculatorActions = state { for i = 1 to 5 do do! Add i do! Multiply 3 } let res, stat = Run calculatorActions (0, []) これを実行すると、以下のような実行結果が得られます。 val calculatorActions StatefulFunc (int * string list),unit = StatefulFunc fun Delay@184-2 val s...
-
lazyさ加減に萌
Seqのlazyさ加減に萌 恥ずかしながら今日の今日までずっと誤解していたことがありまして、それはどんなことかというと、 F#のシーケンス式はシーケンスを発生する段階では遅延評価しているが、それを処理するSeq.mapといったメソッドは、実行時にシーケンスから値を取り出しながら結果の入ったシーケンスを生成している。 という思い込みです。 もちろんこれは後で考えれば何の根拠もないばかりか、冷静に考えればそうする実装上のメリットは何もない、という 恥ずかしい誤解です。しかもリファレンスにしっかり「遅延評価している」と書いてあります。 というわけで、恥ずかしいついでにSeqモジュールに実装されている関数がどの程度lazyかを調べて見ることにしました。 Seq.mapのlazyっぷり その関数が入力をどの程度遅延評価しているかは、副作用を持つ無限シーケンスを渡し...
-
図的な理解
ワークフローの図的な理解 ワークフローというか、モナドの説明にはいろいろあって、いろいろあるからこそ、色んな人の沢山の捉え方を読むことができ、それを横断的に目を通すことでワークフロー(モナド)を立体的に捉えることができるのだと思います。インターネット上にも沢山の人が自分の言葉でモナドの説明を試みています。 そういうものをこれまで沢山見てきてお世話になったので、僕は僕なりの現在の理解を図にしてみました。 関数が二つ連続する場合 まず、単純に二つの関数を連結した式を考えます。 let test = let x = funcA funcB x もしくはもっと単純に let test = funcA | funcB x でもいいでしょう。 これと等価なワークフローを作ってみます。この際testworkflowが何なのかは気にする必要があ...
-
プラグイン/ニュース
ニュース @wikiのwikiモードでは #news(興味のある単語) と入力することで、あるキーワードに関連するニュース一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_174_ja.html たとえば、#news(wiki)と入力すると以下のように表示されます。 SlackからWikiへ!シームレスな文章作成・共有が可能な「GROWIBot」リリース - アットプレス(プレスリリース) 【グランサガ】リセマラ当たりランキング - グランサガ攻略wiki - Gamerch(ゲーマチ) ポケモンBDSP(ダイパリメイク)攻略wiki - AppMedia(アップメディア) 【ひなこい】最強ひな写ランキング - ひなこい攻略Wiki - Gamerch(ゲーマチ) モンハンライズ攻...
-
用語の問題
用語の問題-コンピュテーション式、ワークフロー 「モナド」という言葉の意味、というか「何を指してモナドといっていいのか」の範囲がぼんやりと分かったような気持ちになるまで、僕は何ヶ月も要しましたが、今また、僕は同じような問題に頭を抱えています。 ワークフロー、計算式、コンピュテーション式、シーケンス式、計算式ビルダー、カスタムワークフロー、非同期ワークフローなど、ワークフロー周辺には怪しげな言葉がたくさん渦巻いています。これらの言葉はそもそもそれぞれ何を意味しているものなのでしょうか。 そもそも「Programming F#」で「計算式」という言葉を見たときから、「なんだか『食パン』みたいで嫌な用語だなぁ」と感じたのですが、「Programming F#」「実践F#関数型プログラミング入門」の両方を並べて読み比べても、いまだに「計算式」という言葉の意味するものというものが掴みきれ...
-
プラグイン/人気商品一覧
人気商品一覧 @wikiのwikiモードでは #price_list(カテゴリ名) と入力することで、あるカテゴリの売れ筋商品のリストを表示することができます。 カテゴリには以下のキーワードがご利用できます。 キーワード 表示される内容 ps3 PlayStation3 ps2 PlayStation3 psp PSP wii Wii xbox XBOX nds Nintendo DS desctop-pc デスクトップパソコン note-pc ノートパソコン mp3player デジタルオーディオプレイヤー kaden 家電 aircon エアコン camera カメラ game-toy ゲーム・おもちゃ全般 all 指定無し 空白の場合はランダムな商品が表示されます。 ※このプラグインは価格比較サイト@PRICEのデータを利用しています。 ...
-
まとめサイト作成支援ツール
まとめサイト作成支援ツールについて @wikiにはまとめサイト作成を支援するツールがあります。 また、 #matome_list と入力することで、注目の掲示板が一覧表示されます。 利用例)#matome_listと入力すると下記のように表示されます #matome_list
-
コレクションまとめ
しくみ 長所 短所 リスト(List) 要素ごとに、次の要素がどこにあるかというポインタを持つ。 不変。長さが可変。データに順序性がある。 先頭から順にアクセスすることとしかできない。メモリ使用量は多め。 配列(Array) 連続したメモリ空間に順次格納する。 連続した領域に保存されるため、インデックス番号で高速にアクセス可能。 サイズ変更に大きな時間がかかる場合がある。 マップ(Map) 内部に用意された配列に、ハッシュ関数を使用してアクセスする。 不変。キーを利用して固定時間でのアクセスが可能。インデックスが連続する自然数である必要がない。 データに順序性が(表向きには)ない。要素数が少ない場合にはListを線形探索した方が早い場合がある。 集合(Set) 内部に用意された配列に、ハッシュ関数を使用してアクセスする。 不変。Mapに似ているが、特定のキーが集合に存在するかどうかだけを保...
-
プラグイン/編集履歴
更新履歴 @wikiのwikiモードでは #recent(数字) と入力することで、wikiのページ更新履歴を表示することができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_117_ja.html たとえば、#recent(20)と入力すると以下のように表示されます。 取得中です。
-
プラグイン
@wikiにはいくつかの便利なプラグインがあります。 アーカイブ コメント ニュース 人気商品一覧 動画(Youtube) 編集履歴 関連ブログ これ以外のプラグインについては@wikiガイドをご覧ください = http //atwiki.jp/guide/
-
プラグイン/コメント
コメントプラグイン @wikiのwikiモードでは #comment() と入力することでコメントフォームを簡単に作成することができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_60_ja.html たとえば、#comment() と入力すると以下のように表示されます。 名前 コメント
-
プラグイン/関連ブログ
関連ブログ @wikiのwikiモードでは #bf(興味のある単語) と入力することで、あるキーワードに関連するブログ一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_161_ja.html たとえば、#bf(ゲーム)と入力すると以下のように表示されます。 #bf
-
プラグイン/アーカイブ
アーカイブ @wikiのwikiモードでは #archive_log() と入力することで、特定のウェブページを保存しておくことができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/25_171_ja.html たとえば、#archive_log()と入力すると以下のように表示されます。 保存したいURLとサイト名を入力して"アーカイブログ"をクリックしてみよう サイト名 URL
-
プラグイン/動画(Youtube)
動画(youtube) @wikiのwikiモードでは #video(動画のURL) と入力することで、動画を貼り付けることが出来ます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_209_ja.html また動画のURLはYoutubeのURLをご利用ください。 =>http //www.youtube.com/ たとえば、#video(http //youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。
-
トップページ
F#マスターへの長い長い道のり マイクロソフトがF#2.0をVisualStudio2010に標準搭載してから1年以上の時間がたちました。しかし、関数型言語自体になじむまでには沢山の乗り越えなければならない「壁」があります。僕自身も乗り越えてきたものがありますし、まだまだ自分の前に立ちふさがっていて手がかりすらつかめないものもあります。 日本語の本もまだ多いとは言えないF#ですが、それでもこうやって、勉強しながらでも書ける物を書いて残していけば、僕の後に勉強する人が少しでも楽になるかもと、勉強の過程で分かってきたことを書き留めておくことにしました。 こう書くと人のためにやっているようですが、池上彰氏の「本を読むときは、読んで分かった内容を自分が人に説明できるかを確認しながら読みなさい」という言葉に影響されているのです。 コンテンツ F#の色々なトピックについて、なるべく...
-
@wiki全体から「letとshadowing」で調べる
更新順にページ一覧表示
|
作成順にページ一覧表示
|
ページ名順にページ一覧表示
|
wiki内検索