问题列表 - 第35440页

功能语言中的分解(模块化)

有个主意:函数(在FP中)可以像OOP中的组件一样组成.对于OOP中的组件,我们使用接口.对于函数,我们可以使用委托.目标是实现分解,模块化和可互换性.我们可以使用依赖注入来简化它.

我试着找一些关于这个话题的东西.没运气.可能是因为没有足够大的功能程序需要这个?在搜索用FP编写的企业级应用程序时,我找到了这个列表. 现实世界中的功能编程本文.我希望我错过了FP的杀手级应用程序,这个应用程序足够大,值得分解.

问题:您能否展示出体现真实的FP应用程序(最好是开源),它将分解用于模块?

Bonus chatter:使用的常用模式是什么?什么样的功能通常会分解成单独的模块?这些实现是否曾被用于测试目的?

components functional-programming dependency-injection

9
推荐指数
1
解决办法
1469
查看次数

MacVim在发布时打开垂直分割

如何使mvim在启动时自动垂直分割窗口?

vim

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

我们称之为(新的?)高阶函数?

我试图说出我认为对于更高阶函数的新想法.重要的是,这里是Python和Haskell中的代码来演示这个概念,后面将对此进行解释.

蟒蛇:

>>> def pleat(f, l):
       return map(lambda t: f(*t), zip(l, l[1:]))
>>> pleat(operator.add, [0, 1, 2, 3])
[1, 3, 5]
Run Code Online (Sandbox Code Playgroud)

哈斯克尔:

Prelude> let pleatWith f xs = zipWith f xs (drop 1 xs)
Prelude> pleatWith (+) [0,1,2,3]
[1,3,5]
Run Code Online (Sandbox Code Playgroud)

正如您所能推断的那样,序列正在迭代,利用相邻元素作为传递函数的参数,将结果投影到新序列中.那么,有没有人看到我们创建的功能?这对功能社区的人来说是否熟悉?如果没有,我们怎么命名呢?

---- Update ----
Run Code Online (Sandbox Code Playgroud)

褶皱获胜!

Prelude> let pleat xs = zip xs (drop 1 xs)
Prelude> pleat [1..4]
[(1,2),(2,3),(3,4)]

Prelude> let pleatWith f xs = zipWith f xs (drop 1 xs)
Prelude> pleatWith (+) [1..4]
[3,5,7]
Run Code Online (Sandbox Code Playgroud)

python theory haskell functional-programming higher-order-functions

10
推荐指数
5
解决办法
2191
查看次数

Hadoop MR源:HDFS与HBase.每个的好处?

如果我正确理解Hadoop生态系统,我可以运行我的MapReduce作业从HDFS或HBase获取数据.假设先前的假设是正确的,为什么我会选择一个而不是另一个?使用HBase作为MR源,是否具有性能,可靠性,成本或易用性的优势?

我能找到的最好的是这句话,"HBase是当你需要对非常大的数据集进行实时读/写随机访问时使用的Hadoop应用程序." - Tom White(2009)Hadoop:The Definitive Guide,1st Edition

implementation hadoop

8
推荐指数
1
解决办法
3081
查看次数

"静默地"提取7-Zip文件 - 命令行选项

我想在Python脚本中提取7-Zip档案.它工作正常,除了它吐出提取细节(这在我的情况下是巨大的).

有没有办法在提取时避免这些冗长的信息?我没有找到任何"静默"命令行选项7z.exe.

我的命令是

7z.exe -o some_dir x some_archive.7z
Run Code Online (Sandbox Code Playgroud)

7zip

29
推荐指数
3
解决办法
6万
查看次数

SecurityException:调用者uid XXXX与身份验证者的uid不同

我在尝试实现Sample Sync Adapter应用程序时收到了上述异常.我看过很多与此问题相关的帖子,但没有令人满意的答复.

所以我会在这里记下我的解决方案,以防其他人遇到同样的问题.

android

84
推荐指数
5
解决办法
5万
查看次数

人们如何在iPhoneOS中完成照片过滤器?

人们在iPhone OS上使用/做什么来创建照片滤镜或类似Photoshop的效果?像B&W,棕褐色,交叉处理,'复古'等等.我看到ImageMagick可能会做很多这样的未来,任何其他选择吗?

iphone image imagemagick objective-c

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

ActiveRecord touch(:column)也总是更新:updated_at

我和这个家伙有很多相同的问题:http://www.ruby-forum.com/topic/197440.

我试图触摸一个列(:touched_at)而不进行自动更新:updated_at,但是观察SQL查询时,它总是更新到当前时间.

我认为它可能与我使用它的特定模型有关,所以我尝试了几个不同的具有相同结果的模型.

有人知道:updated_at在触摸不同的列时可能会导致它始终设置的原因吗?touchwrite_attribute内部使用,所以它不应该这样做.

编辑:

一些澄清...... Rails 2.3.5文档touch说明"如果传递属性名称,该属性用于触摸而不是updated_at/on属性." 但我的行为并非如此.也许这是一个文件偏离代码实际状态的情况?

activerecord ruby-on-rails

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

'align'与'text-align'的正确用法是什么?

我试图弄清楚在表格单元格上使用align属性与使用text-align css属性之间的区别.下面的代码显示了IE与其他人的不同结果.在IE中,对齐最终对齐每个子子节点,因此文本'test'居中对齐,而在FF/Webkit中则不是这样,并且它保持左对齐.什么是正确的行为?

<!DOCTYPE html>
<html>

 <head>
  <style>
   table { width: 60%; }
   table td { border: 1px solid black; }
  </style>
 </head>

 <body>
  <table>
   <tbody>
    <tr>
     <td align='center'>
      <table>
       <tbody>
        <tr>
         <td>test</td>
        </tr>
       </tbody>
      </table>
     </td>
    </tr>
   </tbody>
  </table>
 </body>

</html>
Run Code Online (Sandbox Code Playgroud)

text-align alignment

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

C++未处理的异常

如果出现未处理的异常,C++是否提供了一种"显示"可视化内容的方法?

我想做的是做一些事情,assert(unhandled exception.msg())如果它真的发生(如下面的例子):

void foo() {
   throw std::exception("Message!");
}

int main() {
 foo();
}
Run Code Online (Sandbox Code Playgroud)

我希望这种代码不会立即终止(因为异常未处理),而是显示自定义断言消息(Message!实际上).

那可能吗?

c++ exception handler

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