小编use*_*043的帖子

如何在C#中创建F#匿名记录?

我可以看到,如果我创建了一个新的匿名记录,例如。

let myRecord = {| SomeInteger = 5 |}
Run Code Online (Sandbox Code Playgroud)

那么如果它暴露在C#中,我可以用

var someInteger = myRecord.SomeInteger;
Run Code Online (Sandbox Code Playgroud)

如果我有F#函数,反过来又说:

let unwrap (record : {| SomeInteger : int |}) = record.SomeInteger
Run Code Online (Sandbox Code Playgroud)

而且它暴露给C#,如何从C#实例化此函数的参数并调用它?我天真地尝试只在其中放置一个C#匿名类型,即。

var unwrapped = unwrap(new { SomeInteger = 5 });
Run Code Online (Sandbox Code Playgroud)

但这没有编译。我在RFC中注意到该功能,它表示“该功能必须实现与C#匿名对象(来自C#3.0)的兼容性”,但并未以哪种方式具体提及。支持吗?

c# f# record

11
推荐指数
1
解决办法
239
查看次数

Python Tkinter菜单栏不显示

我正在尝试使用Tkinter创建一个GUI,并开始实现一个菜单栏.我看了几个教程并为它编写了一些代码,但似乎没有出现菜单栏 - 只是一个带有白色背景的空白框架.这不仅仅发生在我的代码中; 在将上述教程之一的代码复制并粘贴到新脚本中时,表现出相同的行为.

如果有人能够解释造成这种情况的原因,我会很感激.我的系统是OS X 10.5,Python 2.7,Tk 8.4.这是教程中看起来不起作用的代码:

#!/usr/local/bin/python2.7

from Tkinter import *
from ttk import *

class App(Frame):
    def __init__(self):
            Frame.__init__(self)

            self.master.geometry('400x300')
            self.master.title(__file__)

            self.pack()

            self.menu = Menu(tearoff=False)
            self.master.config(menu = self.menu)

            fm = self.file_menu = None
            fm = Menu(self.menu, tearoff=False)
            self.menu.add_cascade(label='File', menu = fm)

            fm.add_command(label='Say Hello', command = self.say_hello)
            fm.add_separator()
            fm.add_command(label='Quit', command = self.quit)

            self.mainloop()

    def say_hello(self, *e):
            self.label = Label(self.master, text='Hello there!')
            self.label.pack(anchor=CENTER, fill=NONE, expand=YES, side=LEFT)

if __name__ == '__main__':
    App()
Run Code Online (Sandbox Code Playgroud)

我的代码在这里:

from Tkinter import *

class App(Frame): …
Run Code Online (Sandbox Code Playgroud)

python tkinter menubar

4
推荐指数
2
解决办法
1万
查看次数

如何在 Fulma/Fable 中插入自定义 HTML 标签?

我正在使用 Fable (2) + Fulma (1.1) + Elmish (2) 作为 Web UI,我想添加一个 Select 下拉列表,如 Bulma here 中所述。它<option>为项目使用了HTML 标记,但我在 Fulma 库中的任何地方都找不到它。在这种情况下,如何将任意标签写入我的视图?

html f# fable-f# bulma

3
推荐指数
1
解决办法
1017
查看次数

在Delphi中声明可变长度数组

我在Delphi中有一个程序,目前看起来像这样:

Procedure Time.TimeDB(algorithm: string; Encode, Decode: InputFunction; N, R: Int);
VAR
    i : LongInt;
    Errors : Array[N] of LongInt;
BEGIN

for i := 0 to N-1 do
  Errors[i] := 0;

END;
Run Code Online (Sandbox Code Playgroud)

尽管在过程定义中声明了N,但我已经给出了错误,即传递给错误定义的N是未声明的标识符.但是,在BEGIN-END部分中识别出N. 是什么导致了这个以及如何在VAR部分声明可变长度数组?

arrays delphi procedure declare delphi-xe2

2
推荐指数
1
解决办法
718
查看次数

标签 统计

f# ×2

arrays ×1

bulma ×1

c# ×1

declare ×1

delphi ×1

delphi-xe2 ×1

fable-f# ×1

html ×1

menubar ×1

procedure ×1

python ×1

record ×1

tkinter ×1