カテゴリー
C#、VBなど

VBに寄り道、tuple

 tupleはデータのタイプではないようです。データのタイプならDim atuple = new Tupleとか、書かないと行けないんでは?でも、newは無いけど、形式には有っているか?Integerなどはnewで宣言しなくてもいいはず。Dim aint As integer = 100と書けるはず。でも、型の類推があれば、Dim aint = 100とも書けるはず。()の項目は、Itemに1から始まる数値をつけて、アクセスできるようです。

Visual Basic では、tupleとは、()で括られた、2個以上アイテムが有るデータのセットかな?

tupleを配列にしてみました。

 

カテゴリー
F#

F#イジってみました。Tourその7。Tuples。

 F#は型にはこだわらない、動的型付けの言語だと思いますが、tupleはデータのタイプにこだわらない、tuples2は整数、文字列、小数点付き数値など混ぜることが出来るようです。swapElemsは、データの型は文字でも、整数でもかまわないようです。

カテゴリー
kotlin

F#イジってみました。Tourその6。StringManipulation

 関数型言語は、インデックスの操作を嫌うようです。手続き型であれば、Loopしたくなりますね。substringに注目。文字列の連結も”+”を使うようです。VBだと”&”も使えますが…。@が先頭についた文字列は、例えば”\n”でもそのまま出力されるんですね。

カテゴリー
F#

F#イジってみました。Tourその5。 Boolean

 この手の論理は、混乱しますので、()を使ったほうが無難のようです。F#もPythonのようにインデントが物を言いますので、注意ですね。最後のprintfnの頭にSpaceが一個あってもダメでした。

カテゴリー
F#

F#イジってみました。Tourその4。IntegerAndNumbers

 printfnはC言語風にも書けるし、VBと同じようにも書けるようです。キャストは例えば、intみたいにカッコは要らないようです。最後の行の出力は、省略されてるみたいです。

カテゴリー
F#

F#イジってみました。tourその2。immutabilityとmutable

 最近の言語は、いわゆる変数は変更できないことが多いらしい。通常は、変更できないので、変更する場合はlet mutable hogeと宣言しないといけないようです。変更できる言語ばかりやってきた自分にとっては、どのくらいの意味があるのか?掴めない。Classではメンバ変数をPrivateにして、Propertyでアクセスるとかは、ありました。

 module foo =とする方法と=無しのやり方があるようですが、無い場合はmainのエントリーポイントが必要のようです。やってみたのは下の図です。

 

カテゴリー
F#

F#イジってみました。其の一

 Cametan_42さんの助言では、Visual Basic が古い言語で新しい技術には、ツギハギで対応している、という事らしいので、マイクロソフトではF#が比較的、関数型言語になっているらしい、新しい言語に近い、と自分では感じました。では、自分には手に負えるか?やってみないと分からない、ですしね。

 module BasicFunctions = とある、=は何なの?下にあるmodule HelloSquareでは=無いですしね。上の図のコメントはgoogleで翻訳したんですが、自分が訳すより良いでしょう。letで関数を定義するとあるのですが、変数も定義しているように見えます。ということは関数でも変数でも同じ扱いしている?

 

最後の行に0が有って、それを返しているようですが、returnは無い。

カテゴリー
Python

Pythonリスト内包記法をいじってみてました

 2の累乗を求めるリスト内包記法ですが、ジェネレーターを使うときは、止める部分を用意しないと、終了できなくなるようです。遅延評価を理解できてないのですが、すべての計算をしようとする無限ループになるので、一旦中止して処理が終わったら、次の数に行くようには出来ないんですかね。

 Visual Studio 2022でpythonを組み込んでましたが、printに漢字をいれるとエラーになりました。python3だとそんなことはないのでしょうが、どうしてですかね?

これで暫く悩んでました。(涙)

カテゴリー
C#、VBなど

Visual Basicに高階関数あるんですね。

Cametan_42さんがVisual Basic でも高階関数が使える記事を見つけてくれました。

少しだけ変えて、listとlist2を加算してみましたが、高階関数、ピンと来ないです。(笑)

カテゴリー
C#、VBなど

Cametan_42さんのブログから、問題ではありませんが、VBでやってみました。

Cametan_42さんが、ネットの質問に答えています。Visual Basic でやってみました。

答えは合っているようです。

inserted by FC2 system