标签: anonymous

为什么这个函数的类型(a - > a) - > a?

为什么这个函数的类型(a - > a) - > a?

Prelude> let y f = f (y f)
Prelude> :t y
y :: (t -> t) -> t
Run Code Online (Sandbox Code Playgroud)

它不应该是无限/递归类型吗?我打算尝试将我认为类型应该是的,但我出于某种原因无法做到这一点.

y :: (t -> t) -> ?WTFIsGoingOnOnTheRHS?
Run Code Online (Sandbox Code Playgroud)

我不知道f(yf)如何解析为一个值.以下对我来说更有意义:

Prelude> let y f x = f (y f) x
Prelude> :t y
y :: ((a -> b) -> a -> b) -> a -> b
Run Code Online (Sandbox Code Playgroud)

但它仍然令人难以置信的混乱.这是怎么回事?

recursion haskell types anonymous y-combinator

21
推荐指数
4
解决办法
792
查看次数

为什么我要使用Perl匿名子程序而不是命名子程序?

我只是好奇为什么会选择在Perl中使用匿名子程序而不是命名子程序.谢谢.

perl anonymous subroutine

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

在C1X中初始化匿名结构或联合

我有以下问题:根据当前的C1X草案,匿名结构(或联合)如何正确初始化?这是合法的:

struct foo {
    int a;
    struct {
        int i;
        int j;
    };
    int b;
};

struct foo f = { 1, 2, 3, 4 };
struct foo g = { 1, { 2 }, 3 };
Run Code Online (Sandbox Code Playgroud)

在海湾合作委员会,g.j == 0g.b == 3同时在TCC g.j == 3g.b == 0.目前的草案说:

"[...]结构和联合类型的对象的未命名成员不参与初始化.结构对象的未命名成员即使在初始化之后也具有不确定的值."

这真的可以吗?是不是

struct foo h = { 0 };
Run Code Online (Sandbox Code Playgroud)

应该将所有成员设置为0?

非常感谢!

更新:

由于匿名成员似乎只在混合结构/联合时有用,如何正确初始化它:

struct bar {
    int tag;
    union {
        double …
Run Code Online (Sandbox Code Playgroud)

c standards structure anonymous c11

19
推荐指数
1
解决办法
7864
查看次数

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

java线程在创建之前访问外部对象

是的,这是一个学术问题,我知道人们会抱怨我没有发布任何代码,但我真的很震惊这个问题,真的不知道从哪里开始.我真的很感激解释和一些代码示例.

如果对象构造函数启动一个执行匿名内部类对象的方法运行的新线程,则该新线程可能在完全构造并且其字段完全初始化之前可以访问其周围的外部对象.你会如何防止这种情况发生?

java multithreading anonymous inner-classes

19
推荐指数
2
解决办法
2029
查看次数

匿名命名空间歧义

请考虑以下代码段:

void Foo() // 1
{
}

namespace
{
  void Foo() // 2
  {
  }
}

int main()
{
  Foo(); // Ambiguous.
  ::Foo(); // Calls the Foo in the global namespace (Foo #1).

  // I'm trying to call the `Foo` that's defined in the anonymous namespace (Foo #2).
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如何引用匿名命名空间内的内容?

c++ namespaces anonymous ambiguity

18
推荐指数
2
解决办法
4704
查看次数

TProc <TObject>到TNotifyEvent

继这篇文章后,其接受的答案仍然非常神秘:

@Button1.OnClick := pPointer(Cardinal(pPointer( procedure (sender: tObject) begin ((sender as TButton).Owner as TForm).Caption := 'Freedom to anonymous methods!' end )^ ) + $0C)^;
Run Code Online (Sandbox Code Playgroud)

我想知道是否有可能设计出类似于以下的最简单和优雅的方式:

Button.OnClick :=
                    AnonProc2NotifyEvent (
                    procedure (Sender: TObject)
                    begin
                      ((Sender as TButton).Owner as TForm).Caption := 'Freedom to anonymous methods!'
                    end
                      );
Run Code Online (Sandbox Code Playgroud)

以便达到相同的目的,并且AnonProc2NotifyEvent是具有以下签名的Button的所有者的方法:

TOwnerOfButton = class(TForm)
  Button: TButton;
  ...
private
  ...
protected
  function AnonProc2NotifyEvent(aProc: TProc<TObject>): TNotifyEvent;
public
  ...
end;
Run Code Online (Sandbox Code Playgroud)

这是可行的,如果可行,如何实施呢?

delphi anonymous delphi-xe

16
推荐指数
2
解决办法
6237
查看次数

S3 - 匿名上传 - 密钥前缀

我试图准确理解如何设置一个通常是私有的存储桶,但允许匿名上传有限制.具体标准是:

  • 存储桶主要是私有的,需要我的密钥/秘密来添加/删除/更新/列出文件.
  • 有一个名为"incoming"的"目录"(即密钥前缀),允许匿名用户上传内容但不上传.
  • 存储桶的所有内容都有一天到期.作为奖励,我希望"传入"目录有30分钟到期,但如果不可能,整个存储桶的一天到期将会这样做.
  • 具有"传入"前缀的文件将限制每个对象的大小.
  • 我可能还希望将带有"incoming"前缀的对象限制为仅限于某些内容类型.

我的问题是:

  1. 简单地创建两个桶会更好吗?一个用于我的传入文件,一个用于我自己的个人处理和存储?
  2. 对于要上传到传入目录的文件,代码看起来是什么样的.理想情况下,我想避免依赖于S3库,只使用HTTP调用.如果你能在Ruby上向我展示正确的方向,那就是奖励积分.:)

到期时间似乎可以通过S3 Management Console设置,但最短到期时间限制为1天.我可以在该字段中输入小数吗?权限似乎适用于整个存储桶而不仅仅是前缀.这让我觉得我只需要两个水桶.如果我保留一个存储桶,我认为我需要创建一个IAM策略并将其应用到存储桶中,但这超出了我对S3的有限知识,我想确保我不会在允许人们做的权限中留下漏洞比我想要他们更多.

我已经找到很多关于通过HTTP表单帖子匿名上传到S3的文档.我可以将其改编成代码,但我想知道,因为我在应用程序代码(而不是HTTP表单帖子)是否有更简单的方法?

acl anonymous http-post amazon-s3 amazon-web-services

16
推荐指数
1
解决办法
8348
查看次数

在C#中将匿名对象作为参数传递

我在将一个匿名对象作为参数传递给方法时遇到问题.我想像JavaScript一样传递对象.例:

function Test(obj) {
    return obj.txt;
}
console.log(Test({ txt: "test"}));
Run Code Online (Sandbox Code Playgroud)

但是在C#中,它抛出了许多例外:

class Test
{
    public static string TestMethod(IEnumerable<dynamic> obj)
    {
        return obj.txt;
    }
}
Console.WriteLine(Test.TestMethod(new { txt = "test" }));
Run Code Online (Sandbox Code Playgroud)

例外:

  1. 参数1:无法从'AnonymousType#1'转换为'System.Collections.Generic.IEnumerable'
  2. 'ConsoleApplication1.Test.TestMethod(System.Collections.Generic.IEnumerable)'的最佳重载方法匹配有一些无效的参数
  3. 'System.Collections.Generic.IEnumerable'不包含'txt'的定义,并且没有扩展方法'txt'可以找到类型'System.Collections.Generic.IEnumerable'的第一个参数(你是否缺少using指令?或汇编参考?)

c# ienumerable anonymous dynamic object

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

从本地计算机发送匿名邮件

我使用Python使用外部SMTP服务器发送电子邮件.在下面的代码中,我尝试使用smtp.gmail.com从Gmail 密码发送电子邮件到其他ID.我能够使用下面的代码生成输出.

import smtplib
from email.MIMEText import MIMEText
import socket


socket.setdefaulttimeout(None)
HOST = "smtp.gmail.com"
PORT = "587"
sender= "somemail@gmail.com"
password = "pass"
receiver= "receiver@somedomain.com"

msg = MIMEText("Hello World")

msg['Subject'] = 'Subject - Hello World'
msg['From'] = sender
msg['To'] = receiver

server = smtplib.SMTP()
server.connect(HOST, PORT)
server.starttls()
server.login(sender,password)
server.sendmail(sender,receiver, msg.as_string())
server.close()
Run Code Online (Sandbox Code Playgroud)

但是我必须在没有外部SMTP服务器的帮助下做同样的事情.如何用Python做同样的事情?
请帮忙.

python email smtp anonymous

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