MSResearchから出てきた.NETで使える関数型言語のひとつF#
OCAMLの流れを汲むこの言語、いろいろと面白そうなことができそう。
そろそろ日本語の情報が充実してきそうなこの言語について、幅広く語れ。
http://www.fsharp.net/
前スレ
【.NET】F#について語れ【OCAML】
http://hibari.2ch.net/test/read.cgi/tech/1186030985/
関連スレなどは >>2-
探検
【.NET】F#について語れ2【OCAML】
■ このスレッドは過去ログ倉庫に格納されています
2011/05/01(日) 02:46:49.52
687デフォルトの名無しさん
2015/10/01(木) 22:57:44.87ID:PxnDQ6Dp >>679
お前何と戦ってるのwww
お前何と戦ってるのwww
688デフォルトの名無しさん
2015/10/02(金) 03:48:03.81ID:aerj1S9u 過疎スレがなんか伸びてるなーと思って見に来れば大抵こういう展開だな
689デフォルトの名無しさん
2015/10/15(木) 04:53:24.26ID:i9gnKKPa690デフォルトの名無しさん
2015/10/15(木) 07:36:53.33ID:NdAXA3Ht 別に普通に動くしな
動画のエンコードでもさせるの?
動画のエンコードでもさせるの?
691デフォルトの名無しさん
2015/10/15(木) 13:28:31.37ID:070VodXJ692デフォルトの名無しさん
2015/10/15(木) 13:29:04.04ID:070VodXJ693デフォルトの名無しさん
2015/10/15(木) 13:29:25.42ID:070VodXJ >>687
お前こそ誰と戦ってんだよゴミ
お前こそ誰と戦ってんだよゴミ
694デフォルトの名無しさん
2015/10/15(木) 13:30:21.60ID:070VodXJ695デフォルトの名無しさん
2015/10/15(木) 13:31:15.01ID:070VodXJ696デフォルトの名無しさん
2015/10/15(木) 13:32:34.50ID:jR2HY8sf697デフォルトの名無しさん
2015/10/15(木) 13:33:15.57ID:jR2HY8sf698デフォルトの名無しさん
2015/10/15(木) 13:33:54.62ID:jR2HY8sf >>688
お前みたいな奴が面白がって煽るからだろ
お前みたいな奴が面白がって煽るからだろ
699デフォルトの名無しさん
2015/10/15(木) 13:35:38.61ID:jR2HY8sf700デフォルトの名無しさん
2015/10/15(木) 13:37:41.51ID:jR2HY8sf701デフォルトの名無しさん
2015/10/15(木) 13:40:11.14ID:fKPw05Xd 海外では人気ある(笑)
http://www.meetup.com/ja/nycmobiledev/events/225356544/?eventId=225356544
天下の Petzold がF#の公演だと?
なんという人気なんだ!!!!
http://www.meetup.com/ja/nycmobiledev/events/225356544/?eventId=225356544
天下の Petzold がF#の公演だと?
なんという人気なんだ!!!!
702デフォルトの名無しさん
2015/10/15(木) 13:41:05.51ID:fKPw05Xd 真正とか意味の分からない煽りしかしてこないくせに
ちゃんとF#の話題振れるのが俺だけという情けなさ
これが現実
ちゃんとF#の話題振れるのが俺だけという情けなさ
これが現実
703デフォルトの名無しさん
2015/10/15(木) 18:25:16.73ID:I20ULMb+ 俺もIDEやクロスプラットフォームの話題出してるけど、誰も反応無いから安心しな!
704デフォルトの名無しさん
2015/10/23(金) 08:16:53.04ID:+AiXCDdV 意識高い系言語だから
705デフォルトの名無しさん
2015/10/23(金) 11:33:08.53ID:9hpieugb 意識高い人はElixirに行ってる
706デフォルトの名無しさん
2015/10/24(土) 00:17:31.88ID:OhO9p6/T いやいや.netとelixirは、と思ったけど、ホットな話題を巡回してる人はだいぶ前に移ってelixierも試してるだろうというのはあるな。
707デフォルトの名無しさん
2015/10/24(土) 00:25:41.20ID:y0a6t9gb .NET抜きにしても F# 悪くない言語だと思うんだけどなあ。
OCamlほど冗長じゃないし。
OCamlほど冗長じゃないし。
708デフォルトの名無しさん
2015/10/24(土) 05:28:11.77ID:tRPQGNB2709デフォルトの名無しさん
2015/10/24(土) 12:18:26.97ID:niXzNvfm おめおめ
710デフォルトの名無しさん
2015/10/24(土) 14:49:08.52ID:OhO9p6/T おめおめおめ
いまは、ストアアプリ対象なんだっけ?
いまは、ストアアプリ対象なんだっけ?
711デフォルトの名無しさん
2015/11/01(日) 05:16:58.53ID:6SuNdK23 いまいち良い使いどころが思いつかない。大体全部C#で済ましてしまう
712デフォルトの名無しさん
2015/11/01(日) 09:18:28.60ID:CKqa9WWI713デフォルトの名無しさん
2015/11/07(土) 12:07:04.32ID:ptDOELGY FParsecで簡単にパーサが書けたのは良かった。
が、400行程度のパーサをMonoDevelopで開こうとしてフリーズしたり、LINQ to EFを使おうとしてよくわからなくなったりなど、
F#の周囲の開発環境で挫折中。気力が沸いたらまた挑戦するかもしれん。
が、400行程度のパーサをMonoDevelopで開こうとしてフリーズしたり、LINQ to EFを使おうとしてよくわからなくなったりなど、
F#の周囲の開発環境で挫折中。気力が沸いたらまた挑戦するかもしれん。
714デフォルトの名無しさん
2015/11/22(日) 16:09:28.61ID:WQKsREk7 F#の過去,そして未来 - F# Gothamでの議論より
http://www.infoq.com/jp/news/2015/11/fsharp-gotham
http://www.infoq.com/jp/news/2015/11/fsharp-gotham
715デフォルトの名無しさん
2015/12/01(火) 09:24:46.90ID:mwTr+o4y roslynの仲間に入れてもらえないのかw
716デフォルトの名無しさん
2015/12/01(火) 09:59:57.25ID:q7bUA74Z 入れてもらえないっていうかRoslyn作ってる奴が馬鹿だから言語中立な部分と特有な部分をごっちゃにしてるから迷惑してるって感じかと
.NET Nativeにしてもそうやね
.NET Nativeにしてもそうやね
717デフォルトの名無しさん
2015/12/01(火) 20:26:50.02ID:P+zGSQ58 char+stringのスマートな書き方は?
718デフォルトの名無しさん
2016/02/18(木) 02:33:49.99ID:qcoEpmKF719デフォルトの名無しさん
2016/02/18(木) 02:36:02.75ID:qcoEpmKF 楽だ楽だと主張してる奴がいるのになんで盛り上がらないのか
答え:5人位が楽だと言ってるだけだから
答え:5人位が楽だと言ってるだけだから
720デフォルトの名無しさん
2016/02/18(木) 02:36:57.45ID:qcoEpmKF visual studio community editionのおかげで導入もはるかに楽なのにだ
721デフォルトの名無しさん
2016/02/18(木) 02:55:44.41ID:8+wq2XIa 単純に怖いんだろう
Silverlightが終わるとことか見てるし
Silverlightが終わるとことか見てるし
722デフォルトの名無しさん
2016/02/18(木) 12:08:42.28ID:m09s+2fy >>718
同様なものをC#とF#で作って、F#の方がはるかに短いコードでバグも少なくできたって調べてる人海外で幾つか見るけどね
大体言語の好みなんてほぼ主観だと思うけど、主観では型をアッチコッチに書かなきゃいけないC#は本当クソだわ
F#実案件での使用で問題なく使えてるから流行ろうがどうでもいい。
海外ではまあ十分盛り上がってるみたいだしサポート切られる事もしばらくないだろ
同様なものをC#とF#で作って、F#の方がはるかに短いコードでバグも少なくできたって調べてる人海外で幾つか見るけどね
大体言語の好みなんてほぼ主観だと思うけど、主観では型をアッチコッチに書かなきゃいけないC#は本当クソだわ
F#実案件での使用で問題なく使えてるから流行ろうがどうでもいい。
海外ではまあ十分盛り上がってるみたいだしサポート切られる事もしばらくないだろ
723デフォルトの名無しさん
2016/02/29(月) 02:46:32.13ID:nByWuiD1 流行らなければスパッときってくるよ。
724デフォルトの名無しさん
2016/02/29(月) 07:18:33.41ID:1lOTNWnw オプソニなってるからそこまで痛く無い
つーてもVSとかからサポートされなくなるとキツイんだが。
切ったらMSセンスねーなとは思う
つーてもVSとかからサポートされなくなるとキツイんだが。
切ったらMSセンスねーなとは思う
725デフォルトの名無しさん
2016/03/01(火) 20:07:37.96ID:GW+Y//Y5 良いものが流行らず消えてく何てことは数限りなくあった
F# は今頑張らないと消えると思う
F# は今頑張らないと消えると思う
726デフォルトの名無しさん
2016/03/31(木) 20:11:09.32ID:EaHe9wWS F#はこれから頑張るとかいう時期は終わってるでしょ
今あるのは一通り評価得た結果あって
一部の人は気に入った、ということでいいと思う
普及するのまだまだこれからだ!
なんていう寝言はさすがにやめてほしいが
今あるのは一通り評価得た結果あって
一部の人は気に入った、ということでいいと思う
普及するのまだまだこれからだ!
なんていう寝言はさすがにやめてほしいが
727デフォルトの名無しさん
2016/04/02(土) 12:34:40.46ID:thGUj6UI 未来の言語(ω)
728デフォルトの名無しさん
2016/04/02(土) 21:52:10.85ID:Ir4Fa+v1729デフォルトの名無しさん
2016/04/03(日) 13:58:40.61ID:SJ9U6W4k 求人してるのが海外の金融関連中心ってのもあるかもね。
暗黙的に統計か金融の知識が必要な気がする。
暗黙的に統計か金融の知識が必要な気がする。
730デフォルトの名無しさん
2016/04/06(水) 12:57:58.71ID:QwJxwviB F#オンリーの案件はむしろ稀でしょ
F#がわかる=C#エキスパート+実務経験あり&並行化の知識あり
と遅延評価すると妥当になる
F#がわかる=C#エキスパート+実務経験あり&並行化の知識あり
と遅延評価すると妥当になる
731デフォルトの名無しさん
2016/05/01(日) 16:56:51.63ID:tKi6j9CT 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
1t
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
1t
732デフォルトの名無しさん
2016/06/11(土) 17:16:42.35ID:ZtEjhTwV F#勉強しはじめたばっかりですが、どなたか教えてください
Visual Studio 2015でF#プロジェクト作ってみたんですが、
「新規フォルダーの作成」のメニューがどこにも見当たらない
JavaとかC#とかでは、パッケージやnamespaceの階層に合わせてソースフォルダ掘ったりしますが、
F#ではそういうの無くて、ソースファイルはフラットに置いておくものなんでしょうか?
Visual Studio 2015でF#プロジェクト作ってみたんですが、
「新規フォルダーの作成」のメニューがどこにも見当たらない
JavaとかC#とかでは、パッケージやnamespaceの階層に合わせてソースフォルダ掘ったりしますが、
F#ではそういうの無くて、ソースファイルはフラットに置いておくものなんでしょうか?
733デフォルトの名無しさん
2016/06/11(土) 17:30:27.31ID:zSGsCTOB >>732
extentionでF# Power Toolsというのを落とせばその機能が使える。
extentionでF# Power Toolsというのを落とせばその機能が使える。
734デフォルトの名無しさん
2016/06/11(土) 17:46:54.54ID:ZtEjhTwV735デフォルトの名無しさん
2016/06/23(木) 00:57:26.96ID:zQLdlEzo >>733
*extension*
*extension*
736デフォルトの名無しさん
2016/08/22(月) 01:34:27.92ID:+JfquTF3 F#の未来はわからないがMLの流れは絶えることはない
737デフォルトの名無しさん
2016/08/22(月) 01:38:01.40ID:+JfquTF3 MLが生んだletは立派に独り立ちを始めている
738デフォルトの名無しさん
2016/08/23(火) 18:31:49.04ID:kLQdwxaf コボラーに対抗してエムエラーと名乗ろう
739デフォルトの名無しさん
2016/08/30(火) 06:15:16.07ID:Wv3ZANeS740デフォルトの名無しさん
2016/08/30(火) 06:21:19.09ID:Wv3ZANeS >>739
このサイトには誤訳があるので注意してね
このサイトには誤訳があるので注意してね
741デフォルトの名無しさん
2016/08/30(火) 20:42:10.14ID:vrBeNxH6 間違いの無い記事は少ない
間違いを見つけ乍ら読むのがリテラシー
間違いを見つけ乍ら読むのがリテラシー
742デフォルトの名無しさん
2016/09/02(金) 02:36:07.94ID:D4RF+Hn1 discriminated unionも次々に採用されてるな
やれやれ
やれやれ
743デフォルトの名無しさん
2016/09/02(金) 06:36:24.81ID:93bhRaHZ どこに採用されてる?
744デフォルトの名無しさん
2016/09/02(金) 07:20:36.66ID:D4RF+Hn1 typescript
745デフォルトの名無しさん
2016/10/09(日) 13:09:22.51ID:7SKhoL6o .netにバインドするライブラリってのは
たとえばデリゲートをどうすんのかとか
属性どうするのかとかですぐつまづいてしまう
JScript.NETやIronPythonがまさにそうだ
F#はそのへん良く頑張ってるな
たとえばデリゲートをどうすんのかとか
属性どうするのかとかですぐつまづいてしまう
JScript.NETやIronPythonがまさにそうだ
F#はそのへん良く頑張ってるな
746デフォルトの名無しさん
2016/11/13(日) 17:24:09.92ID:4ToPYL6s F#というより.netの使い方の勉強に時間取られてなんだかね
747デフォルトの名無しさん
2016/11/15(火) 16:44:14.09ID:G5nfQU/Z 質問させてください
F#をC#と併せて勉強中です。C#の場合、高階関数に渡すラムダ式の中で
以下のように配列のインデックスを使えるのですが、F#だとどう書けばよいか分かりません
F#のラムダ式中で配列のインデックスを使う方法があればお教え願います
(C#)
var array1 = new[] { 12, 33, 46, 8, 23, 42, 41};
var array2 = array1.Where((x, index) => index % 2 == 0).ToArray(); // array1の偶数番目のみの配列を新たにつくる
(F#)
let array2 = Array.filter (fun x index -> index % 2 = 0) array1 // こうはできない
F#をC#と併せて勉強中です。C#の場合、高階関数に渡すラムダ式の中で
以下のように配列のインデックスを使えるのですが、F#だとどう書けばよいか分かりません
F#のラムダ式中で配列のインデックスを使う方法があればお教え願います
(C#)
var array1 = new[] { 12, 33, 46, 8, 23, 42, 41};
var array2 = array1.Where((x, index) => index % 2 == 0).ToArray(); // array1の偶数番目のみの配列を新たにつくる
(F#)
let array2 = Array.filter (fun x index -> index % 2 = 0) array1 // こうはできない
748デフォルトの名無しさん
2016/11/15(火) 17:51:26.35ID:Z1GMtli2 ちょっと長ったらしくて、もっとスマートなやり方があるかもしれんが
とりあえずは、こうすればできる
Array.mapi (fun index x -> (index, x)) array1 |>
Array.filter (fun (index, x) -> index % 2 = 0) |>
Array.map (fun (index, x) -> x)
とりあえずは、こうすればできる
Array.mapi (fun index x -> (index, x)) array1 |>
Array.filter (fun (index, x) -> index % 2 = 0) |>
Array.map (fun (index, x) -> x)
749デフォルトの名無しさん
2016/11/15(火) 18:46:06.01ID:G5nfQU/Z750デフォルトの名無しさん
2016/11/15(火) 20:50:47.44ID:OT10uw27 filterとmap重ねるならchoose使え
751デフォルトの名無しさん
2016/11/15(火) 23:40:23.50ID:s5pds+TJ indexed ( ボソッ
752デフォルトの名無しさん
2016/11/16(水) 18:51:58.42ID:URMKBQmU >>750-751
ありがとうございます
スマートに書けるようになりました
Array.indexed array1 |> Array.choose (fun (index, x) -> if index % 2 = 0 then Some x else None)
ありがとうございます
スマートに書けるようになりました
Array.indexed array1 |> Array.choose (fun (index, x) -> if index % 2 = 0 then Some x else None)
753デフォルトの名無しさん
2016/11/16(水) 19:16:01.41ID:5e/LkvO+754デフォルトの名無しさん
2016/11/16(水) 19:33:48.20ID:URMKBQmU >>753
わざわざありがとうございます
こういうyieldを使った書き方はまだ詳しく勉強してないんですが、
こっちだと中間のデータをつくらないんでパフォーマンスがよさそうですね
勉強して試してみます
わざわざありがとうございます
こういうyieldを使った書き方はまだ詳しく勉強してないんですが、
こっちだと中間のデータをつくらないんでパフォーマンスがよさそうですね
勉強して試してみます
755デフォルトの名無しさん
2016/12/13(火) 03:00:30.70ID:1DM7j7BI F#って普通に個人で趣味アプリ作ったりする場合でもC#と比べて恩恵感じられる?
関数型って算術演算や金融関係で威力を発揮するけどそれ以外だと却って手間が増えるだけみたいなイメージある
関数型って算術演算や金融関係で威力を発揮するけどそれ以外だと却って手間が増えるだけみたいなイメージある
756デフォルトの名無しさん
2016/12/13(火) 03:18:24.44ID:neuXXcOh 出力が手間ってだけじゃね
757デフォルトの名無しさん
2016/12/13(火) 09:05:12.17ID:/Iv3sNJB >>755
C#に比べてVSのサポートがイマイチって所が多々あるけれど、それを補ってかつはるかに上回るメリット得られるお。
正直C#でなんかサポートが足りない所、たとえばUI周りとか以外で使いたくないしF#使える所は全部F#で書いてる。
C#に比べてVSのサポートがイマイチって所が多々あるけれど、それを補ってかつはるかに上回るメリット得られるお。
正直C#でなんかサポートが足りない所、たとえばUI周りとか以外で使いたくないしF#使える所は全部F#で書いてる。
758デフォルトの名無しさん
2016/12/13(火) 09:06:19.31ID:/Iv3sNJB F#はバージョンが5つぐらい進んだC#と捉えるのが正しいと思う
759デフォルトの名無しさん
2016/12/13(火) 12:12:52.87ID:hu4l98Ut うむ
760デフォルトの名無しさん
2016/12/13(火) 15:31:59.53ID:c8n9s3lN761デフォルトの名無しさん
2016/12/13(火) 19:01:53.31ID:QZ8rc8DA762デフォルトの名無しさん
2016/12/13(火) 20:54:07.46ID:MsMt5e8s みんな、競プロでもっとF#とOCamlを使おうぜ
763デフォルトの名無しさん
2016/12/27(火) 16:04:36.71ID:r8OAYz75 勉強し始めたけど、いつなくなるのか心配
MSって、切るときはバッサリ行くよな
MSって、切るときはバッサリ行くよな
764デフォルトの名無しさん
2016/12/27(火) 16:22:15.15ID:ov9/Tp6R もうとっくにイってます
765デフォルトの名無しさん
2017/01/16(月) 12:32:54.03ID:w3fpx7c2 F#デビューしようと思って本探してるんだがC#er向けの本ってないのな
ググるとサイトはいっぱい出てくるけど
こういう場合は関数型言語について書かれた本をとりあえず買っとけばいいのかな
ググるとサイトはいっぱい出てくるけど
こういう場合は関数型言語について書かれた本をとりあえず買っとけばいいのかな
766デフォルトの名無しさん
2017/01/16(月) 13:40:50.81ID:of8fDlu0 Real World Functional Programming: With Examples in F# and C#
かな。たしか英語の原書しかないけど
でもまずプログラミングF#読んだ方がいいと思う
かな。たしか英語の原書しかないけど
でもまずプログラミングF#読んだ方がいいと思う
767デフォルトの名無しさん
2017/01/16(月) 14:05:39.31ID:cZ5PGvSb 俺は実践F#関数型プログラミング入門って本で勉強したけど、なかなか良い本だったよ
書き方が平易な感じでサクサク進められて、基礎的な部分は一通りキッチリ習得できたと思う
書き方が平易な感じでサクサク進められて、基礎的な部分は一通りキッチリ習得できたと思う
768デフォルトの名無しさん
2017/01/16(月) 16:56:59.00ID:rgwnOlnx 勉強中で悪いんだけど
実践F#関数型プログラミング入門は確かにとっつきやすいんだけど
説明不足と思われるところが散見されるように思う
かといってプログラミングF#で十分ってわけではないんだけど
例えば、今アクティブパターン見てるんだけど、いまいち動作がわかんねー
分類としての役割と、型変換の役割があるみたいだけど、
その内部動作っというか、統一的にどのように動作してるのかがわからん
実践F#関数型プログラミング入門は確かにとっつきやすいんだけど
説明不足と思われるところが散見されるように思う
かといってプログラミングF#で十分ってわけではないんだけど
例えば、今アクティブパターン見てるんだけど、いまいち動作がわかんねー
分類としての役割と、型変換の役割があるみたいだけど、
その内部動作っというか、統一的にどのように動作してるのかがわからん
769デフォルトの名無しさん
2017/01/16(月) 21:42:59.51ID:meiXzXMj 実装は関数呼び出しの条件一致だろうけど、使うぶんにはそのパターンになるかどうかって感じでよくないか?
パラメータわたしのやつは順序がおかしくて分かりづらいと思うが
パラメータわたしのやつは順序がおかしくて分かりづらいと思うが
770デフォルトの名無しさん
2017/01/16(月) 21:44:10.62ID:meiXzXMj771デフォルトの名無しさん
2017/01/17(火) 12:28:38.43ID:8zwXc9tZ >>769
以下の=ソース=において、 | FIleExtension ".jpg"はどう動作すると考える?
プログラミングF#には記述があるからわかるけど
普通に ".jpg"はFIleExtensionの引数にしか見えない
疑問点1 match式の|の後はパターンの記述だけど、関数呼び出しの場合の約束事が不明
疑問点2 | FIleExtension ext は.jpgの方とほぼ同じ記述だけど、こちらは代入
さしあたって、切り分けできるのかな? 出来たとしても、わかりずらいし。
=========== ソース ============
let (|FIleExtension|) filepath=Path.GetExtension(filePath)
let determinFIleType(filepath :string)
match filepath with
| FIleExtension ".jpg"->printfn "画像"
| FIleExtension ext->printfn "未知 [%s]" ext
以下の=ソース=において、 | FIleExtension ".jpg"はどう動作すると考える?
プログラミングF#には記述があるからわかるけど
普通に ".jpg"はFIleExtensionの引数にしか見えない
疑問点1 match式の|の後はパターンの記述だけど、関数呼び出しの場合の約束事が不明
疑問点2 | FIleExtension ext は.jpgの方とほぼ同じ記述だけど、こちらは代入
さしあたって、切り分けできるのかな? 出来たとしても、わかりずらいし。
=========== ソース ============
let (|FIleExtension|) filepath=Path.GetExtension(filePath)
let determinFIleType(filepath :string)
match filepath with
| FIleExtension ".jpg"->printfn "画像"
| FIleExtension ext->printfn "未知 [%s]" ext
772711
2017/01/17(火) 12:30:49.29ID:8zwXc9tZ あれ?空白が無視されてるな
match式以降はブロック別で、ずれてますので、
まぁわかりますよね
match式以降はブロック別で、ずれてますので、
まぁわかりますよね
773デフォルトの名無しさん
2017/01/17(火) 15:40:46.37ID:AtzKNi4C |の後は元の値がこのパターンに合うか?って感じの比較対象が来るのでFileExtension ".jpg"と言う値って感じに掴んでる。
正規表現の奴はそのregexを元にほにゃららを返す値って感じ。
けどほんとはパターンを区別するって言うセレクターとした方がいいのかな?
正規表現の奴はそのregexを元にほにゃららを返す値って感じ。
けどほんとはパターンを区別するって言うセレクターとした方がいいのかな?
774デフォルトの名無しさん
2017/01/17(火) 16:21:52.44ID:8zwXc9tZ たぶん違う
| FIleExtension ".jpg"->printfn "画像"の方は、
FIleExtensionの引数がfilepathで、その結果が".jpg"とマッチするかどうか
| FIleExtension ext->printfn "未知 [%s]" extの方は
FIleExtensionの引数がfilepathで、その結果をextに代入(let束縛?)
って、ことみたい(プログラミングF#に記述の例で上のように解釈するような説明あり)
実践F#にも同様な例(P295)はあるけど、こちらは、説明なし
| FIleExtension ".jpg"->printfn "画像"の方は、
FIleExtensionの引数がfilepathで、その結果が".jpg"とマッチするかどうか
| FIleExtension ext->printfn "未知 [%s]" extの方は
FIleExtensionの引数がfilepathで、その結果をextに代入(let束縛?)
って、ことみたい(プログラミングF#に記述の例で上のように解釈するような説明あり)
実践F#にも同様な例(P295)はあるけど、こちらは、説明なし
775デフォルトの名無しさん
2017/01/17(火) 16:57:47.21ID:AtzKNi4C いや俺はそう言う風な理解をしてるって話なんだが。
実体は上から順番に関数呼び出しの条件マッチだと思うが動作の仕組みを知りたいんだったらILを見れば。
実体は上から順番に関数呼び出しの条件マッチだと思うが動作の仕組みを知りたいんだったらILを見れば。
776デフォルトの名無しさん
2017/01/17(火) 17:34:24.12ID:8zwXc9tZ >ILを見れば。
たしかにね。いままで避けてきたから、考え付かなかった。
ただ、実践F#の方はなんの説明もないんだよ
それで理解できるわけないってーの
(| FIleExtension ".jpg" なら、FileExtensionの引数は”.jpg”でその結果が、filepathとマッチが
普通の理解だと思う)
多分、F#の文法理解のキモは、実践F#のどっかに書かれてた、
”let束縛や関数束縛にはパターンマッチが宿る”ってのがあって
それは何ぞやってことかなとも思うんだけど
たしかにね。いままで避けてきたから、考え付かなかった。
ただ、実践F#の方はなんの説明もないんだよ
それで理解できるわけないってーの
(| FIleExtension ".jpg" なら、FileExtensionの引数は”.jpg”でその結果が、filepathとマッチが
普通の理解だと思う)
多分、F#の文法理解のキモは、実践F#のどっかに書かれてた、
”let束縛や関数束縛にはパターンマッチが宿る”ってのがあって
それは何ぞやってことかなとも思うんだけど
777デフォルトの名無しさん
2017/01/27(金) 13:06:20.11ID:r/dqFSyQ UnityをF#でやるってどうおもう?
778デフォルトの名無しさん
2017/01/27(金) 16:23:08.47ID:11vmh7q9 やってる人いるっぽいけど、興味あるので是非人柱って欲しい
779デフォルトの名無しさん
2017/01/29(日) 11:32:18.42ID:85P/1kIo Xamarinでも使えると聞きたけど、実際に実用に耐えるレベルで使える感じ?
それともまだちょいきびしい?
それともまだちょいきびしい?
780デフォルトの名無しさん
2017/01/29(日) 16:34:59.12ID:SZxfjGEN781デフォルトの名無しさん
2017/01/29(日) 16:36:43.65ID:SZxfjGEN782デフォルトの名無しさん
2017/01/29(日) 16:38:12.30ID:SZxfjGEN783デフォルトの名無しさん
2017/01/29(日) 17:58:10.02ID:OOBDM7kI 怒濤の3連投
784デフォルトの名無しさん
2017/01/29(日) 22:48:48.26ID:fQuWVzYo785デフォルトの名無しさん
2017/01/30(月) 04:57:10.64ID:W8ulMPLc 連投ニキ結局何が言いたいのか分からなくて草
786デフォルトの名無しさん
2017/01/30(月) 08:55:41.75ID:HBz5xnGW f#はmonoで動くように作ってるので問題無いが、
あとはC#と同じくiosの制限に引っかからないかぐらいかな。
動的コード減らすように、ios向けにコンパイラ改良してるみたいではあるが。
あとはC#と同じくiosの制限に引っかからないかぐらいかな。
動的コード減らすように、ios向けにコンパイラ改良してるみたいではあるが。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★4 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★3 [BFU★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 自民 麻生副総裁 高市外交を「上々の滑り出し」と評価 [首都圏の虎★]
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★8 [おっさん友の会★]
- Bloomberg「やり過ぎた中国、高市首相の政策遂行手助け」 [481941988]
- 中国政府、日本人のビザ免除停止、鬼滅の刃公開停止を検討へ [271912485]
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
- 高市コイン、ガチで156円突入へwwwwwwwwww [246620176]
- 高市早苗って戦後最悪の総理大臣なのでは🤔? [929293504]
- 【高市】ドル円ついに156円突破!!!wwwwwwwwwww【片山】
