因此,当我返回一个对象时,我认为它将内存地址返回给您可以引用和使用的对象(或包含内存地址的对象).
但是当你返回一个函数时实际发生了什么?
您的应用如何知道该func使用哪个对象实例?
我的直觉告诉我一个对象实例引用与func一起传递但是实际发生了什么?
我似乎无法在这个主题上找到太多.
编辑:澄清一下,我问一个方法何时返回一个函数
所以,我无法通过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连接.把它当作它的价值.
我以为我理解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)
因此,由于某种原因,它在执行函数时执行,而不是以相反顺序执行的函数调用.
为什么是这样?
所以这很简单。我似乎无法在网上找到答案。
在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)
在此示例中,我想使用c2和c3作为复合主键
所以我对编译器如何处理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) 我正试图在我们的测试项目中获得期望并运行.
虽然它编译并运行良好,但我想确保它确实有效.所以我给了它一个失败案例并且它通过了.
我在这里想念傻事吗?
我的测试设置
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) 好的,所以我迷失在这一个.我有一个对象列表.每个对象都作为非唯一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) 所以我认为这可能是数据表库中的一个错误。我能够仅使用他们在 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) 所以到目前为止,我一直在使用我为公司网络部署的更新程序.有足够的人要求我切换到clickonce更新程序,所以我现在正在研究它.这些是我实施它的步骤.
我错过了什么?
在我的代码中,
            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# ×4
f# ×4
clickonce ×1
datatables ×1
expecto ×1
func ×1
javascript ×1
jquery ×1
lambda ×1
linux ×1
mono ×1
raspberry-pi ×1
ssh ×1