小编Eri*_*ric的帖子

Python - 更新元组列表中的值

更新元组列表中的值的最佳方法是什么?

我目前在下面的代码中这样做,但我想有一种更简洁的方式.

>>> foo = [('a', 'hello'), ('b', 'world')]
>>> bar = dict(foo)
>>> bar['b'] = 'friend'
>>> foo = bar.items()
>>> foo
[('a', 'hello'), ('b', 'friend')]
Run Code Online (Sandbox Code Playgroud)

编辑:使用元组列表的原因在我的原始帖子中并不清楚.目标是在错误处理期间更新wsgi应用程序的某些标头值,即元组列表.

提前致谢.

python

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

从Rack应用程序提供非公共二进制文件

我正在制作一个简单的机架应用程序,在验证后授予对安全文件的访问权限.
由于文件中的数据是敏感的,因此它们位于应用程序的非公共文件夹中.

现在,在检查会话数据之后,我只是打开文件进行读取,并将内容作为响应的主体发送.
它感觉很丑,对于较大的文件来说必须非常耗费资源.

响应示例:

[ "200", {"Content-Type"=> MIME::Types.type_for(file).first.to_s }, File.open( file ).read() ]
Run Code Online (Sandbox Code Playgroud)

我查看了Rack :: Sendfile,但据我所知,它是一个中间件,无法从应用程序本身发送文件.

从Rack应用程序发送非公共二进制文件的最有效方法是什么?

ruby rack

5
推荐指数
1
解决办法
1153
查看次数

CYK算法在Erlang中的实现代码回顾

我开始学习Erlang,并且作为练习,我尝试实现CYK算法

主要代码(cyk.erl):

%%% An attempt for a CYK parser in Erlang

-module(cyk).

-export([
         init_storage/0,
         import_grammar_file/1,
         add_grammar_rule/1,
         analyze/1,
         test_analyze/0
        ]).

%% Initialize the ets storage for grammar
init_storage() ->
  ets:new(?MODULE, [bag, named_table]).

%%------------------------------------------
%% 
%% Grammar
%%
%%------------------------------------------

%% Import a grammar file
import_grammar_file(File) ->
  {ok, Device} = file:open(File, read),
  import_file_rules(Device).

%% Import all the rules in the file
import_file_rules(Device) ->
  case io:get_line(Device, "") of
    eof ->
      io:format("Grammar file imported~n"),
      file:close(Device);
    Line ->
      add_grammar_rule(Line),
      import_file_rules(Device)
  end.

%% Add a …
Run Code Online (Sandbox Code Playgroud)

erlang cyk

5
推荐指数
1
解决办法
463
查看次数

PHP或令人惊讶的行为

我使用OR作为php中的逻辑OR有一些令人惊讶的结果.
考虑以下代码:

$a = false;
$b = false;
$c = true;

# Test 1, using OR and assigning to a variable
$value = $a OR $b OR $c;
var_dump( $value );
# return bool(false) but why?

# Test 2, using OR directly in var_dump
var_dump( $a OR $b OR $c );
# return bool(true) as expected

# Test 3, using || and assigning to a variable
$value = $a || $b || $c;
var_dump( $value );
# return bool(true) as …
Run Code Online (Sandbox Code Playgroud)

php

5
推荐指数
1
解决办法
53
查看次数

XSLT - 将模板应用于调用模板结果

是否可以将模板应用于调用模板的结果?

例如,下面是xml和2 xslt.

INDEX.XML:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <book>
    <title>Ethics</title>
  </book>
  <book>
    <title>Beyond Good and Evil</title>
  </book>
</root>
Run Code Online (Sandbox Code Playgroud)

index2.xsl

<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output indent="yes"/>
  <xsl:template match="/" name="temp2">
    <foo>
    <xsl:for-each select="//book">
      <bar><xsl:value-of select="."/></bar>
    </xsl:for-each>
    </foo>
  </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

和index.xsl正在调用index2.xsl

<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output indent="yes"/>
<xsl:include href="index2.xsl" />
<!-- apply a template to the <xsl:call-template name="temp2" /> result -->
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

有没有办法将模板应用于<xsl:call-template name="temp2" />index.xsl 的结果?

提前致谢.

xslt

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

在MongoDB Aggregate Framework中将列组合成一个

是否可以跨多个列对值进行分组?

假设我在白天存储人与人之间的交互,并按照以下方式跟踪来自和之间的交互.

db.collection = 
[
    { from : 'bob',   to : 'mary',   day : 1,  count : 2 },
    { from : 'bob',   to : 'steve',  day : 2,  count : 1 },
    { from : 'mary',  to : 'bob',    day : 1,  count : 3 },
    { from : 'mary',  to : 'steve',  day : 3,  count : 1 },
    { from : 'steve', to : 'bob',    day : 2,  count : 2 },
    { from : 'steve', to …
Run Code Online (Sandbox Code Playgroud)

mongodb aggregation-framework

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

Aeson:将动态密钥解析为类型字段

假设有一个类似的JSON:

{
  "bob_id" : {
    "name": "bob",
    "age" : 20
  },
  "jack_id" : {
    "name": "jack",
    "age" : 25
  }
}
Run Code Online (Sandbox Code Playgroud)

是否有可能解析它[Person]Person下面定义的?

data Person = Person {
   id   :: Text
  ,name :: Text
  ,age  :: Int
}
Run Code Online (Sandbox Code Playgroud)

haskell aeson

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

将函数应用于文件(如果存在)

我有一个函数将函数应用于文件(如果存在):

import System.Directory
import Data.Maybe

applyToFile :: (FilePath -> IO a) -> FilePath -> IO (Maybe a)
applyToFile f p = doesFileExist p >>= apply
  where 
    apply True  = f p >>= (pure . Just)
    apply False = pure Nothing
Run Code Online (Sandbox Code Playgroud)

用法示例:

applyToFile readFile "/tmp/foo"
applyToFile (\p -> writeFile p "bar") "/tmp/foo"
Run Code Online (Sandbox Code Playgroud)

可以添加一个抽象级别:

import System.Directory
import Data.Maybe

applyToFileIf :: (FilePath -> IO Bool) -> (FilePath -> IO a) ->  FilePath -> IO (Maybe a)
applyToFileIf f g p = f p …
Run Code Online (Sandbox Code Playgroud)

haskell

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

SQL:IN语句等效于逻辑AND

我目前使用的软件中SQL对象和标签之间存在关系,如下所示:

+-----------+--------+
| object_id | tag_id |
+-----------+--------+
|       226 |     31 |
|       226 |     35 |
|       313 |     31 |
|       312 |     35 |
+-----------+--------+
Run Code Online (Sandbox Code Playgroud)

使用以下请求获取具有逻辑OR的标记ID列表的所有对象ID都可以:

select distinct object_id from tags_link where tag_id in (31, 35);
Run Code Online (Sandbox Code Playgroud)

如何获得具有逻辑AND的标记ID列表的所有对象ID?

对于上表,对标签ID 31和35的请求应仅返回object_id 226.

sql

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

Python包中的单类模块

我正在制作一个python包,我目前的结构如下:

application/utils.py

class settings():
  function foo():
    bla bla bla

class debug():
  function bar():
    bla bla bla
Run Code Online (Sandbox Code Playgroud)

然后在其他模块中,可以按如下方式导入设置和调试类:

import application.utils.settings
import application.utils.debug
Run Code Online (Sandbox Code Playgroud)

但现在,这些类变得越来越大了,我想将它们放在分隔文件中.

application/utils/settings.py

class settings():
  function foo():
    bla bla bla
Run Code Online (Sandbox Code Playgroud)

application/utils/debug.py

class debug():
  function bar():
    bla bla bla
Run Code Online (Sandbox Code Playgroud)

在这种情况下,导入调试和设置类将如下所示:

import application.utils.settings.settings
import application.utils.debug.debug
Run Code Online (Sandbox Code Playgroud)

我觉得很不自然.这是正确的方式,还是我错过了什么?

python namespaces

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

标签 统计

haskell ×2

python ×2

aeson ×1

aggregation-framework ×1

cyk ×1

erlang ×1

mongodb ×1

namespaces ×1

php ×1

rack ×1

ruby ×1

sql ×1

xslt ×1