Cametan_42さんがVisual Basic でも高階関数が使える記事を見つけてくれました。
少しだけ変えて、listとlist2を加算してみましたが、高階関数、ピンと来ないです。(笑)
ランキングに参加中。クリックして応援お願いします!
コメント利用規約に同意する
フォロー中フォローするフォローする
ラムダ式 (Visual Basic):
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/language-features/procedures/lambda-expressions
方法: ラムダ式を作成する (Visual Basic):
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/language-features/procedures/how-to-create-a-lambda-expression
VBラムダ式 基本文法最速マスター @IT:
https://atmarkit.itmedia.co.jp/fdotnet/rapidmaster/rapidmaster_02/rapidmaster_02.html
とこの辺を参考に。
まぁ、applyとか、自作せなアカン、ってぇのなら旨味をあまり感じる事が出来ないかもしれませんね。
もっともLispで言うmapとか自作するのは良い練習になるとは思いますけれども。
あと、通常Visual Basicだと、高階関数代わりにデリゲートって機能を使うんですかね?よく分からんのですが。
デリゲート (Visual Basic):
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/language-features/delegates/
Rosetta Codeではデリゲートを使った「高階関数っぽい」例がいくつか紹介されていました。
VB.net:
https://rosettacode.org/wiki/Higher-order_functions#Visual_Basic_.NET
とまぁ、参考までに。
そうなんですか?
まぁ、こっちから見ると、やっぱ単にVisual Basicの機能が単に十全じゃない、ってだけに見えますがね。
要するにVisual Basicで書く、ってのが相当難しく見えます。
C++とかJavaとか、恐らくC#なんかもそうなんだけど、「元々そういう意図で設計されてない」のに、新しく関数型言語から機能を持ってきてると「合わない」んですよね(笑)。便利なんだけど、それを「使う」のが言語仕様上物凄くメンド臭くなってる。
やっぱ「後付の機能」ってのは単に「使いづらい」ってトコあるんじゃないのかしらん。
要するに、最初の設計の時点からその辺見据えてないと、単にイビツに「新機能が付け加えられた」ってだけになっちゃうと思います。
当然使うのは苦しいんですよ。
多分、Microsoft言語なら、F#を使った方がマシなんじゃないかしらん。
F#入門:
http://www.fsharpintro.net/
Microsoft言語の中ではC#やVBに比べると全然人気が無いですけど、これは「ホンモノ」です。OCamlと言う言語を基に作られています。
OCaml:
https://ja.wikipedia.org/wiki/OCaml
両者とも基本的なトコではほぼ互換のようです。
なお、お茶の水女子大学の先生が作った「プログラミングの基礎」って本があって(良書です)、
プログラミングの基礎:
http://pllab.is.ocha.ac.jp/~asai/book/Top.html
そのビデオ講座が無料で公開されています。
「プログラミングの基礎」を使った授業紹介:
http://pllab.is.ocha.ac.jp/~asai/book-mov/
Cametanさんが、本物というF#、触って見る価値はありそうです。