小编NoI*_*his的帖子

为什么map在Python 3中返回地图对象而不是列表?

我有兴趣了解Python 3.x新语言设计.

我喜欢在Python 2.7中使用的功能map:

Python 2.7.12
In[2]: map(lambda x: x+1, [1,2,3])
Out[2]: [2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

但是,在Python 3.x中,事情发生了变化:

Python 3.5.1
In[2]: map(lambda x: x+1, [1,2,3])
Out[2]: <map at 0x4218390>
Run Code Online (Sandbox Code Playgroud)

我理解如何,但我找不到为什么的参考.为什么语言设计师会做出这样的选择,在我看来,这会引入很多痛苦.这是为了让开发人员坚持列表理解吗?

IMO,list自然可以被认为是Functors ; 而且我一直被认为以这种方式思考:

fmap :: (a -> b) -> f a -> f b
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

在ubuntu上安装sbt

我在Ubuntu上安装了sbt.

:~/bin/sbt/bin$ ls
classes    sbt      sbt-launch.jar       target
jansi.jar  sbt.bat  sbt-launch-lib.bash  win-sbt
Run Code Online (Sandbox Code Playgroud)

但是,每当我尝试启动sbt(从sbt所在的同一目录)时,它都不起作用:

No command 'sbt' found, did you mean:
 Command 'skt' from package 'latex-sanskrit' (universe)
 Command 'sb2' from package 'scratchbox2' (universe)
 Command 'sbd' from package 'cluster-glue' (main)
 Command 'mbt' from package 'mbt' (universe)
 Command 'sbmt' from package 'atfs' (universe)
 Command 'lbt' from package 'lbt' (universe)
 Command 'st' from package 'suckless-tools' (universe)
 Command 'sb' from package 'lrzsz' (universe)
Run Code Online (Sandbox Code Playgroud)

我是linux的新手,我不知道如何解决这个问题.

debian scala deb sbt ubuntu-12.04

59
推荐指数
3
解决办法
11万
查看次数

克隆类实例,只更改一些属性

我想知道在F#中是否有一些糖来克隆一个只改变一个或几个属性的类实例.

我知道在F#中可以使用记录:

let p2 = {p1 with Y = 0.0}
Run Code Online (Sandbox Code Playgroud)

f# clone

11
推荐指数
2
解决办法
2836
查看次数

pycharm/intellij - jupyter markdown not rendering

我已经安装了python插件,并没有在jupyter笔记本中渲染markdown.

同样适用于pycharm.

我还安装了额外的markdown插件.

python markdown intellij-idea pycharm jupyter

10
推荐指数
1
解决办法
702
查看次数

AWS Lambda - Java Bean

我有一个如下所示的请求:

package pricing

import scala.beans.BeanProperty

class Request(@BeanProperty var name: String, @BeanProperty var surname: String) {
  def this() = this(name="defName", surname="defSurname")
}
Run Code Online (Sandbox Code Playgroud)

处理程序如下:

package pricing

import com.amazonaws.services.lambda.runtime.{Context, RequestHandler}
import scala.collection.JavaConverters
import spray.json._


class ApiGatewayHandler extends RequestHandler[Request, ApiGatewayResponse] {

  import DefaultJsonProtocol._

  def handleRequest(input: Request, context: Context): ApiGatewayResponse = {
    val headers = Map("x-foo" -> "coucou")
    val msg = "Hello " + input.name
    val message = Map[String, String]("message" -> msg )
    ApiGatewayResponse(
      200,
      message.toJson.toString(),
      JavaConverters.mapAsJavaMap[String, Object](headers),
      true
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

已被记录为:

functions:
  pricing: …
Run Code Online (Sandbox Code Playgroud)

java scala aws-lambda aws-api-gateway serverless-framework

10
推荐指数
1
解决办法
936
查看次数

F#数组平面图

我有以下功能:

let fetchTickerGroup (tickers: string[])  (sqlServer:SQLServerClient) (schema: string) = 
tickers |> Array.map(fun x -> sqlServer.FetchTimeSerie(schema,x))
Run Code Online (Sandbox Code Playgroud)

该函数采用一个字符串数组,并通过sqlServer取这是由返回的数据sqlServer.FetchTimeSerie作为List<b>其中b一个自定义的对象.现在,映射数组意味着函数fetchTickerGroup返回List<b>[].

我想知道结果是否可能flatMap,而不仅仅是映射数组值.

arrays f#

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

喷涂:路由 - 了解path和pathPrefix之间的区别

import akka.actor.Actor
import spray.routing.HttpService
import spray.http._
import MediaTypes._
import spray.json._
import spray.routing.directives.CachingDirectives._
import spray.httpx.encoding._

trait MarginEvaluationService extends HttpService {
  import ClassSerializer._
  import spray.httpx.SprayJsonSupport._
  val myRoute = {

      pathPrefix("hello") {
        get {
          respondWithMediaType(`text/html`) { // XML is marshalled to `text/xml` by default, so we simply override here
            complete {
              <html>
                <body>
                  <h1>Say hello to <i>spray-routing</i> on <i>spray-can</i>!</h1>
                </body>
              </html>
            }
          }
        }
      }
      ~
      pathPrefix("testjson") {
        get {
          entity(as[TestC]) { c =>
            respondWithMediaType(`application/json`) {
              complete(c)
            }
          }
        }
      }
   }
} …
Run Code Online (Sandbox Code Playgroud)

scala spray

8
推荐指数
2
解决办法
2927
查看次数

谷歌文档iframe - 更改填充

我有一个iframe已创建的嵌入式发布谷歌文档.的iframe自动应用一个大的填充到其body导致文本是一个非常窄和难看柱.我必须改变这一点.

我试图创建一个自定义指令:

app.directive('iframeWithStyle', [function(){
return {
    restrict: 'A',
    link: function(scope, element, attrs){
        element.on('load', function(){
               var iframe = element[0];
               var grabbedElement = iframe.querySelector("body");
               // -> grabbedElement is null here
        });
    }
}}]);
Run Code Online (Sandbox Code Playgroud)

适用于:

<iframe iframe-with-style
        src="https://docs.google.com/document/d/somethingABC123/pub?embedded=true">
</iframe>
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,iframe.querySelector返回nulliframe.contentWindow.document结果

未捕获的DOMException:阻止具有原始" http:// localhost:8100 "的帧访问跨源帧.

我已经看过一个解决方法,但我觉得它有点过分(例如:与消息安全交叉通信).

我尝试用一​​些css应用于我可以达到的范围来对抗填充.例如:

iframe {
  padding: 0px !important;
  margin-left: -50px;
  margin-right: 50px;
}
Run Code Online (Sandbox Code Playgroud)

CSS应用到bodyiframe似乎被简单地忽略.

曾几何时,有一些便利属性,例如marginwidth.也试过了.我也想知道谷歌是否不提供一些"糖",但谷歌搜索并没有帮助.

注意:它确实不一定是iframe,但我需要在应用程序中以可读的方式显示格式化的gdoc; …

iframe google-docs angularjs

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

国家monad和战略模式

我正在重新设计一个库,我对目前的设计模式不满意.这个问题涉及战略模式州Monad一起使用

我有一个Filter.在它的基本实现中,它所做的就是获取一些类型的数据源'd并更新自身,生成一个新的自身更新副本.

[<AbstractClass>]
type Filter<'d, 'F> (state: 'F) =
    member val StateVariable = state with get
    abstract member Update: 'd -> Filter<'d, 'F>
Run Code Online (Sandbox Code Playgroud)

我有一个ISignalGenerator,它采用过滤器,环境数据并处理它以生成一种Signal类型'S.

type ISignalGenerator<'d, 'F, 'S> =
    abstract member GenerateSignal: 'd -> Filter<'d,'F> -> 'S
Run Code Online (Sandbox Code Playgroud)

SignalGenerator是一个策略模式对象.在SignalGenerator实现中,库用户安装将使用和组合以生成的函数Signal.

我可以将我的代码包装在状态monad中.与一些环境变量(数据馈送)一起,状态monad将携带'Filter'作为状态.SignalGenerator然后将通过状态monad获取状态更新(类型的数据馈送'dFilter)

我的设计问题是我想将SignalGenerator类型从工作流程的开发中分离出来,即我想避免将状态monad嵌套在其中SignalGenerator.是否有功能设计模式来实现这一目标?

编辑

根据Tomas的评论,我参与了一个玩具模型.具有策略类的选择基于将许多功能组合在一起的需要.

/////////////////////////////////////////////////////////////////////////////////////
// Definition of the state …
Run Code Online (Sandbox Code Playgroud)

f# design-patterns strategy-pattern state-monad

7
推荐指数
0
解决办法
849
查看次数

插值与Delaunay三角剖分

有一个形状像某种扭曲的抛物面的浊点,我想使用Delaunay三角剖分来插值点.我尝试过其他技术(f.ex.splines),但没有设法强制执行所需的行为.

我想知道是否有一种快速的方法来使用结果scipy.spatial.Delaunay,我可以给出(x,y)坐标并获得单面(三角形)上的点的z坐标.从文档看起来我可以提取单纯形的索引,但我不知道如何从那里采取它.

在此输入图像描述

python delaunay scipy

7
推荐指数
1
解决办法
3292
查看次数