我是一个完全盲目的程序员,想学习Python.不幸的是,代码块用不同的缩进级别表示的事实是一个主要的障碍.我想知道是否有任何可用的工具允许我使用大括号或其他代码块分隔符编写代码,然后将该格式转换为Python解释器可以使用的正确缩进表示形式?
我刚开始学习F#.在几个F#编码示例中,我看到以下列方式使用关键字"in":
let doStuff x =
let first, second = x in
first + " " + second
Run Code Online (Sandbox Code Playgroud)
该功能在第二行的末尾使用和不使用"in"."in"有什么作用?
这是一个愚蠢的问题.我一直在读F#上的几本书,找不到什么可以解释你放的时间;; 在发表声明后,我也无法在阅读中找到模式.你什么时候用双分号结束声明?
我刚刚开始学习F#,并尝试了来自wiki的代码:
我更喜欢使用制表符空格,所以我将代码更改为:
#indent "off"
open System
open System.Windows.Forms
let form = new Form(Visible=true, TopMost=true, Text="Welcome to F#")
let label =
let temp = new Label()
let x = 3 + (4 * 5)
temp.Text <- sprintf "x = %d" x
temp
form.Controls.Add(label)
[<STAThread>]
Application.Run(form)
Run Code Online (Sandbox Code Playgroud)
输出是:
Microsoft(R)F#2.0编译器版本4.0.30319.1版权所有(c)Microsoft Corporation.版权所有.
fstest2.fs(1,1):警告FS0062:此构造用于ML兼容性.考虑使用扩展名为".ml"或".mli"的文件.您可以使用'--mlcompatibility'或'--nowarn:62'禁用此警告.
fstest2.fs(9,2):错误FS0010:表达式中出现意外关键字'let'或'use'.预期'in'或其他标记.
fstest2.fs(13,1):错误FS0597:连续参数应该用spac es或tupled分隔,涉及函数或方法应用程序的参数应该用括号括起来
fstest2.fs(9,14):错误FS0374:赋值左侧的表达式无效
fstest2.fs(16,1):错误FS0010:定义中的意外标识符
猜猜错误是在let标签块的某个地方,但无法弄明白.
我正在挖掘F#并喜欢用大量不同的方式编写代码.
但我很困惑 - 为什么非#light语法存在,如果它优于默认语法?
有谁知道为什么?
为什么不使#light默认并为那些想要的空格特定代码提供#dark选项?