我一直认为函数式编程可以用Python完成.因此,我很惊讶Python在这个问题上没有得到很多提及,当提到它时,它通常不是很积极.然而,没有给出很多理由(没有提到模式匹配和代数数据类型).所以我的问题是:为什么Python不适合函数式编程?是否有更多的原因,而不是缺乏模式匹配和代数数据类型?或者这些概念对函数式编程如此重要,以至于不支持它们的语言只能被归类为二级函数式编程语言?(请记住,我在函数式编程方面的经验非常有限.)
在可能的情况下,我尝试用我的函数名称来描述.这偶尔会导致20到30个字符范围内的函数名称,例如"GetActionFromTypeName"或"GetSelectedActionType".在什么时候函数管理太长时间(编译器不会太长)?
我最喜欢Cocoa的一个方面是可读性因素.
最让我烦恼的事情之一是便利施工人员强制重复的惯例.
这是一个例子:
[NSString stringWithString:s]
[NSNumber numberWithDouble:d]
[NSValue valueWithInt:i]
[NSDictionary dictionaryWithObjectsAndKeys:<blah>]
Run Code Online (Sandbox Code Playgroud)
等等
为什么惯例不是简单地用"with"这个词开始方便构造函数?所以我们会:
[NSString withString:s]
[NSNumber withDouble:d]
[NSValue withInt:i]
[NSDictionary withObjectsAndKeys:<blah>]
Run Code Online (Sandbox Code Playgroud)
等等
这是一个小小的讨论点,但我认为我会扔掉那里,看看有没有比我更有影响力的人可以解释我头脑中的所有回声.
显然,我不打算请求AAPL重新编写appKit以支持我的建议,但有没有反对命名我自己的便利构造函数的论据?
当然,我可以在我自己的代码中使用我想要的任何约定,但我讨厌盲目地向上游游泳.
Embaracdero记录了字符串类型的"IsEmpty"方法,我已经成功地使用了C++ Builder代码.
WideString s;
if (s.IsEmpty())
....
Run Code Online (Sandbox Code Playgroud)
我从Delphi尝试了同样的东西,并且无法编译它:
var s: WideString;
begin
if s.IsEmpty then
....
Run Code Online (Sandbox Code Playgroud)
我知道你可以用空字符串比较,或者调用Length函数,但是可以从Delphi调用这个IsEmpty方法吗?
编辑:只是为了澄清,这不是一个字符串与Widestring问题.
基本上,我链接到上面的文档描述了一个Pascal语法,以及一个C++语法,但这似乎不起作用.我认为这只是文档中的一个缺陷.
如果System :: WideString :: WideString为空,则返回true.
Pascal: function IsEmpty:bool;
我在尝试在JSP中提供zip文件时遇到问题.
完成下载后,zip文件总是损坏.我已经尝试了几种不同的读写方法,但似乎没有一种方法可以解决这个问题.
我认为它可能会在某处添加ascii字符,因为文件将打开并显示所有文件名,但我无法提取任何文件.
这是我的最新代码:
<%@ page import= "java.io.*" %>
<%
BufferedReader bufferedReader = null;
String zipLocation = "C:\\zipfile.zip";
try
{
bufferedReader = new BufferedReader(new FileReader(zipLocation));
response.setContentType("application/zip");
response.setHeader( "Content-Disposition", "attachment; filename=zipfile.zip" );
int anInt = 0;
while((anInt = bufferedReader.read()) != -1)
{
out.write(anInt);
}
}
catch(Exception e)
{
e.printStackTrace();
}
%>
Run Code Online (Sandbox Code Playgroud)
编辑:我将代码移动到servlet,它仍然无法正常工作.我改变了很多东西,所以这是最新的非工作代码:
public void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException
{
try
{
String templateLocation = Config.getInstance().getString("Site.templateDirectory");
response.setContentType("application/zip");
response.setHeader("Content-Disposition", "attachment; filename=output.zip;");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
BufferedOutputStream bos = new …Run Code Online (Sandbox Code Playgroud) 我想从GUI设计中隔离数据库代码.在一段合理的时间里,我一直在阅读/搜索/浏览mgm/mvp/mvc/persistence/objects等主题.我真的很难设计一个可重用的对象层次结构/框架.Delphi是RAD的一个很好的工具,但当你想以不同的方式解决问题时,文档似乎无效.我想为数据访问开发一些持久性之王,并轻松地将数据连接到对象/对象列表中.并以多种方式集成数据显示(使用现有组件或不使用dbaware,创建多种格式的导出/导入例程).我应该从哪里开始?你知道任何带代码的教程吗?例如,Delphi安装中包含的mastapp演示是RAD-way作为初创公司的一个很好的来源.我需要在OOP中使用等效的注释和教程
我正在尝试为我参与的电子邮件组构建一些统计信息.是否有任何Python API可以访问GoogleGroup上的电子邮件数据?
另外,我知道该组主页上有一些统计数据.我正在寻找比那里显示的东西更复杂的东西.
我正在收到#error WINDOWS.H.MFC应用程序不能#include windows.h但我不知道如何找出因为这个文件正在发生
谢谢
我在我的应用程序中使用液体插件.在使用rails辅助方法(如form_for,check_box_tag)时,我收到错误form_for未定义..
有谁知道如何通过液体插件使用rails helper方法?