セマンティクスF#let決算カンマで区切
質問
私は学習F#.私が始めたん F#サンプル 株式会社エンパシは、Microsoft社からwindows.
また、この文:
let line1,line2 =
use sr = System.IO.File.OpenText @"test.txt"
let line1 = sr.ReadLine()
let line2 = sr.ReadLine()
(line1,line2)
誰でもできるので説明は、この言すか?
どのタイプを定義する。A機能しているのでしょうか。タプル?
なぜ line1
や line2
してもつ意味を再定義せねばならないの定義 line1,line2
(let line1 =
... let line2 =
)?
何の最終線 (line1, line2)
どのようなこのtieのタイプの定義は?このプロジェクトとは?
で"声"での利用のための定義F#?
感謝。
解決
F#で識別子の値を結合するための一般的な形態である
let pattern = expression
ここで、パターンが組のパターンである「LINE1、LINE2」、である、それは値の2組に結合して割り当てることを期待するであろうこれら二つの値に名前「LINE1」と「LINE2」ます。
式は、次の4行です。その式内のローカル変数があります。彼らはまた、「LINE1」と「LINE2」と命名することが起こるが、彼らは簡単に「x」と「y」または任意の名前に変更されている可能性が - これらの識別子の範囲は、このインデント表現に対してローカルであるが。 (同じ名前を外側のスコープ内の名前として使用されているという事実は、限りコンパイラに関しては効果がありません。)
発現は、発現の「戻り値」である場合は、最後の行。 (あなたは、説明の明瞭性のためにそれらの名前を変更する場合は「X」と「Y」)、この場合には値「LINE1」および「LINE2」の2つのタプルを返します。これら2つの値のそれぞれは、タイプ「文字列」を持っているのでなお、リターン式のタイプは、各値が文字列である2組である「文字列*文字列」、です。これは、元の「LINE1」と最初の行に「LINE2」の名前は、それぞれがタイプ「文字列」を有すると推測されることを意味します。
F#が機能的であり、かつその意味では「すべてが表現である」と(順番に評価された式のシーケンスのみ)「そこにはステートメントがありません」が、それはIMO(AB)にokです用語「ステートメントを使用あなたは非常に正確であることをしようとしている場合を除き、聞かせて 『行」の内側を記述するために』。