小编Ant*_*ell的帖子

func如何正常工作

因此,当我返回一个对象时,我认为它将内存地址返回给您可以引用和使用的对象(或包含内存地址的对象).

但是当你返回一个函数时实际发生了什么?

您的应用如何知道该func使用哪个对象实例?

我的直觉告诉我一个对象实例引用与func一起传递但是实际发生了什么?

我似乎无法在这个主题上找到太多.

编辑:澄清一下,我问一个方法何时返回一个函数

c# func

5
推荐指数
2
解决办法
2093
查看次数

不能apt-get remove或apt-get install | fopen许可否认

所以,我无法通过SSH进入我的无头linux盒子.

所以我连接了一个屏幕并开始使用它.

我的服务器仍然功能齐全,盒子似乎很机智.我只是不让我进入SSH.

所以我尝试按照一些在线教程将我的IP添加到SSH允许文件,但似乎没有任何工作.

我不断得到

"网络连接:拒绝连接"

尝试使用putty进行SSH时.

所以我决定核对iptables并做

sudo apt-get remove --purge iptables
Run Code Online (Sandbox Code Playgroud)

导致失败.

像这样的东西

"处理mandb表""fopen permission denied"

所以我尝试了

sudo apt-get install iptables

它说同样的错误.

最终结果是我的服务器启动并运行但我的框中没有ssh功能.虽然我仍然有一个活跃的samba连接.把它当作它的价值.

linux ssh raspberry-pi

5
推荐指数
1
解决办法
2957
查看次数

为什么我的应用程序从上到下执行

我以为我理解F#代码执行但很明显我错过了一些东西.当我运行以下

#!/usr/bin/env fsharpi

let a =
    System.Console.WriteLine("Function A")

let b =
    System.Console.WriteLine("Function B")

let c =
    System.Console.WriteLine("Function C")

c
b
a
Run Code Online (Sandbox Code Playgroud)

我得到输出:

Function A
Function B
Function C
Run Code Online (Sandbox Code Playgroud)

因此,由于某种原因,它在执行函数时执行,而不是以相反顺序执行的函数调用.

为什么是这样?

f#

5
推荐指数
1
解决办法
65
查看次数

复合主键

所以这很简单。我似乎无法在网上找到答案。

在Fluent Migrator中,我看到了用PrimaryKey()标记列的选项,但是看不到创建复合主键的任何方法。看起来PrimaryKey也没有过载。

这可能吗?

base.Create.Table(tableName).WithColumn("Id").AsGuid().PrimaryKey().NotNullable().Unique()
                .WithColumn("c1").AsGuid().NotNullable().Unique()
                .WithColumn("c2").AsString().NotNullable()
                .WithColumn("c3").AsString().NotNullable()
                .WithColumn("c4").AsDateTime()
                |> ignore
Run Code Online (Sandbox Code Playgroud)

在此示例中,我想使用c2c3作为复合主键

f#

5
推荐指数
2
解决办法
470
查看次数

lambdas如何定位到局部变量?

所以我对编译器如何处理lambdas的理解是有限的.

我的理解是编译器将你的lambda转换成一个真正的方法.

如果是这种情况那么它如何范围到局部变量?

    public async Task<dynamic> GetWebStuff()
    {
        dynamic ret = "";

        WebClient wc = new WebClient();          

        wc.DownloadStringCompleted += async (s, a) => 
        {
            ret = await Newtonsoft.Json.JsonConvert.DeserializeObject(a.Result.ToString());
        };

        wc.DownloadString("http://www.MyJson.com");

        return ret;
    }
Run Code Online (Sandbox Code Playgroud)

上面的示例将ret的返回值设置为调用者,调用者是反序列化JSON的动态对象.

如果编译器接受完成的事件lambda并将其抽象为自己的方法,那会怎样?如何知道设置ret值?

就像我说的那样(显然不会起作用)

        public async Task<dynamic> GetWebStuff()
        {
            dynamic ret = "";

            WebClient wc = new WebClient();

            wc.DownloadStringCompleted += wc_DownloadStringCompleted;            

            wc.DownloadString("google.com");

            return ret;
        }

        void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            ret = await Newtonsoft.Json.JsonConvert.DeserializeObject(e.Result.ToString());
        }
Run Code Online (Sandbox Code Playgroud)

c# compiler-construction lambda

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

F#中的Expecto测试即使在被迫失败时也会通过

我正试图在我们的测试项目中获得期望并运行.

虽然它编译并运行良好,但我想确保它确实有效.所以我给了它一个失败案例并且它通过了.

我在这里想念傻事吗?

我的测试设置

let tests =
    testList "Test Group" [
        test "Testing fail test" {
           let result = false
           Expecto.Expect.isTrue result 
        }
    ]

let runTests args =
  runTestsWithArgs defaultConfig args tests
Run Code Online (Sandbox Code Playgroud)

测试结果

[08:52:06 INF] EXPECTO? Running tests...
[08:52:06 INF] EXPECTO! 1 tests run in 00:00:00.0569286 – 1 passed, 0 ignored, 0 failed, 0 errored. ??( ? ? ???? ?? ? )??
Run Code Online (Sandbox Code Playgroud)

mono f# expecto

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

将列表分组到F#中的列表列表

好的,所以我迷失在这一个.我有一个对象列表.每个对象都作为非唯一ID.我想分组这个ID,但对于我的生活,我无法弄清楚如何做到这一点.

这就是我所拥有的

type fooObject = {
     Id : int
     Info : string
}

let fooObjects: fooObject list
Run Code Online (Sandbox Code Playgroud)

数据可能看起来像这样

[ { Id = 1 ; Data = "foo" } ; { Id = 1 ; Data = "also foo" } ; { Id = 2 ; Data = "Not foo" } ]
Run Code Online (Sandbox Code Playgroud)

我想要的东西

let fooObjectsGroupedById : fooObject list list
Run Code Online (Sandbox Code Playgroud)

所以最终结果看起来像这样

[ [{ Id = 1 ; Data = "foo" } ; { Id = 1 ; Data = "also foo" } …
Run Code Online (Sandbox Code Playgroud)

f#

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

刷新后数据表搜索为空但过滤器处于活动状态

所以我认为这可能是数据表库中的一个错误。我能够仅使用他们在 jsfiddle 中的示例代码来重现这一点。

重建步骤:

  1. 打开 JS Fiddle 链接https://jsfiddle.net/t4rphnuc/
  2. 点击“运行”
  3. 在页脚搜索框中(与哪个无关)过滤数据表
  4. 再次单击“运行”或刷新页面(您需要执行步骤 2-4 两次,因为 JSFiddle 第一次不会缓存数据表)

注意:数据表仍保持过滤状态,但搜索字段现在全部为空。

有没有其他人看到这个或看到我在这里做错了什么?

这是javascript

<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery.dataTables.js" type="text/javascript"></script>
<script src='https://code.jquery.com/jquery-1.12.4.js'></script>
<script src='https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js' type="text/javascript"></script>
<script src='https://cdn.datatables.net/select/1.2.5/js/dataTables.select.min.js' type="text/javascript"></script>
<script src='https://cdn.datatables.net/buttons/1.5.1/js/dataTables.buttons.min.js' type="text/javascript"></script>
<script src='https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js' type="text/javascript"></script>
<script type="text/javascript">
        $(document).ready(function() {

            const table = $('#example').DataTable({
                stateSave: true
            });

            // Setup - add a text input to each footer cell
            $('#example tfoot th').each( function () {
                var title = $(this).text();
                $(this).html( '<input type="text" placeholder="Search '+title+'" />' );
            } ); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery datatables

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

部署信息更改后,单击部署不更新

所以到目前为止,我一直在使用我为公司网络部署的更新程序.有足够的人要求我切换到clickonce更新程序,所以我现在正在研究它.这些是我实施它的步骤.

  1. 从解决方案中删除了我的更新逻辑
  2. 发布我的应用程序并将更新路径指向完全限定的共享网络位置
  3. 安装了我的应用程序
  4. 跑我的应用程序
  5. 更改了解决方案中的程序集版本和文件版本
  6. 将新版本发布到更新路径
  7. 尝试启动应用程序但没有得到更新提示.

我错过了什么?

c# clickonce

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

控制台应用代码错误

在我的代码中,

            int x;
            int y;
            x = 7;



            if (x == y)
            {
                Console.WriteLine("The numbers are the same!");

            }
            else
            {
                Console.WriteLine("The numbers are different.");
            }
            Console.ReadLine();


            for (int i = 0; i < y; i--)
            {
                Console.WriteLine("{0} sheep!", i);
            }
            Console.ReadLine();


            string[] colors = new string[y];
            colors[0] = "green";
            colors[1] = "yellow";
            colors[y] = "red";


            Console.WriteLine("Your new code is {0}.", Code(x, y));
            Console.ReadLine();

        }   

            static int Code(int myX, int myY)
            {
                int answer = myX * myX - myY; …
Run Code Online (Sandbox Code Playgroud)

c#

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