问题列表 - 第2058页

Python中列表的模式匹配

我想在Python中的列表上进行一些模式匹配.例如,在Haskell中,我可以执行以下操作:

fun (head : rest) = ...
Run Code Online (Sandbox Code Playgroud)

因此,当我传入一个列表时,head将是第一个元素,rest并将成为尾随元素.

同样,在Python中,我可以自动解压缩元组:

(var1, var2) = func_that_returns_a_tuple()
Run Code Online (Sandbox Code Playgroud)

我想用Python中的列表做类似的事情.现在,我有一个返回列表的函数,以及执行以下操作的一大块代码:

ls = my_func()
(head, rest) = (ls[0], ls[1:])
Run Code Online (Sandbox Code Playgroud)

我想知道我是否能以某种方式在Python中用一行来代替,而不是两行.

python functional-programming pattern-matching

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

签名中的匿名类型

我试图让下面的方法签名工作.因为这是一个匿名类型我有一些麻烦,任何帮助都会很棒.

当我在QuickWatch窗口中查看sortedGameList.ToList()时,我得到了签名

System.Collections.Generic.List<<>f__AnonymousType0<System.DateTime,System.Linq.IGrouping<System.DateTime,DC.FootballLeague.Web.Models.Game>>>
Run Code Online (Sandbox Code Playgroud)

非常感谢

唐纳德

   public List<IGrouping<DateTime, Game>> getGamesList(int leagueID)
{
    var sortedGameList =
        from g in Games
        group g by g.Date into s
        select new { Date = s.Key, Games = s };

    return sortedGameList.ToList();

}
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net-mvc anonymous-types

4
推荐指数
3
解决办法
2983
查看次数

您的体验中发现了最糟糕的Java实践?

此问题类似......

您在Java代码中实际发现的最差实践是什么?

我的是:

  • 在servlet中使用实例变量(实际上这不仅仅是不好的做法,而是bug)
  • 使用像HashMap这样的Collection实现,而不是使用适当的接口
  • 使用看似神秘的类名,如SmsMaker(SmsFactory)或CommEnvironment(CommunicationContext)

java

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

与SBCL交叉编译

我在Ubuntu机器上运行SBCL.我想写一个小程序,我想给只有Windows运行的朋友.在我的机器上将它交叉编译成"独立"Windows程序(即通常的运行时+核心组合)的最快方法是什么?

lisp sbcl common-lisp cross-compiling

6
推荐指数
2
解决办法
2538
查看次数

可以更改Mercurial中的默认差异工具吗?

每次我做一个hg diff file.ext我最终使用控制台差异应用程序.我想使用Kdiff3或WinMerge(我正在使用Windows).

有办法改变吗?我在Mercurial文档中找不到引用(我不是在谈论合并!).

diff configuration mercurial

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

定义采用不同参数的接口方法

我的应用程序使用连接到PC的测量仪器.我希望能够使用来自不同供应商的类似仪器.

所以我定义了一个接口:

interface IMeasurementInterface
    {
        void Initialize();
        void Close();
    }
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.在测量之前,我需要设置仪器,这意味着不同仪器的参数非常不同.所以我想定义一个方法,它接受可以有不同结构的参数:

interface IMeasurementInterface
{
    void Initialize();
    void Close();
    void Setup(object Parameters);
}
Run Code Online (Sandbox Code Playgroud)

然后我会将对象投射到我需要的任何东西上.这是要走的路吗?

.net c# oop

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

如何将Xml属性绑定到Treeview节点,同时将XDocument数据绑定到WPF Treeview

我有一个XML需要数据绑定到WPF TreeView.这里的XML可以有不同的结构.TreeView应该是数据绑定通用的,足以加载任何层次结构的排列.但是,节点上的XAttribute(称为Title)应该数据绑定到TreeViewItem的头文本不是节点名.

要绑定的XML:

<Wizard>
  <Section Title="Home">
    <Loop Title="Income Loop">
      <Page Title="Employer Income"/>
      <Page Title="Parttime Job Income"/>
      <Page Title="Self employment Income"/>
    </Loop>
  </Section>
  <Section Title="Deductions">
    <Loop Title="Deductions Loop">
      <Page Title="Travel spending"/>
      <Page Title="Charity spending"/>
      <Page Title="Dependents"/>
    </Loop>
  </Section>
</Wizard>
Run Code Online (Sandbox Code Playgroud)

XAML:

<Window x:Class="Wpf.DataBinding.TreeViewer"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:Wpf.DataBinding"
    Title="TreeViewer" Height="300" Width="300">
    <Window.Resources>
        <HierarchicalDataTemplate ItemsSource="{Binding Path=Elements}" x:Key="TVTemplate">
            <TreeViewItem Header="{Binding Path=Name}"/>
        </HierarchicalDataTemplate>
    </Window.Resources>
    <StackPanel>
        <TreeView x:Name="_treeView" Style="{StaticResource TVallExpanded}"
                ItemsSource="{Binding Path=Root.Elements}"
                ItemTemplate="{StaticResource TVTemplate}" />
    </StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

XAML的代码隐藏,它将XML加载到XDocument并将其绑定到TreeView …

c# data-binding wpf treeview xaml

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

在ply的正则表达式中匹配unicode

我匹配标识符,但现在我遇到了问题:我的标识符允许包含unicode字符.因此,旧的做事方式是不够的:

t_IDENTIFIER = r"[A-Za-z](\\.|[A-Za-z_0-9])*"
Run Code Online (Sandbox Code Playgroud)

我的标记语言解析器中,我通过允许除了我明确使用的那些字符之外的所有字符来匹配unicode字符,因为我的标记语言只有两个或三个我需要以这种方式转义的字符.

如何将所有unicode字符与python正则表达式和ply匹配?这也是一个好主意吗?

我想让人们在他们的程序中使用像Ω»«°foo²väliπ这样的标识符作为标识符(变量名等).哎呀!我希望人们可以用他们自己的语言编写程序,如果它是实用的!无论如何,unicode现在在各种各样的地方得到支持,它应该传播.

编辑:POSIX字符类似乎不被python正则表达式识别.

>>> import re
>>> item = re.compile(r'[[:word:]]')
>>> print item.match('e')
None
Run Code Online (Sandbox Code Playgroud)

编辑:更好地解释我需要的东西.我需要一个正则表达式匹配所有unicode可打印字符,但根本不匹配ASCII字符.

编辑:r"\ w"做了我想要的东西,但它不匹配«»,我还需要一个与数字不匹配的正则表达式.

python regex unicode ply character-properties

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

如何计算给定lat/lng位置的边界框?

我给出了一个由纬度和经度定义的位置.现在我想计算一个距离该点10公里的边界框.

边界框应定义为latmin,lngmin和latmax,lngmax.

我需要这些东西才能使用panoramio API.

有人知道如何获得积分的公式吗?

编辑:伙计们我正在寻找一个公式/函数,它以lat&lng作为输入并返回一个边界框作为latmin&lngmin和latmax&latmin.Mysql,php,c#,javascript很好,但伪代码也应该没问题.

编辑:我不是在寻找能够显示2点距离的解决方案

geocoding panoramio

98
推荐指数
9
解决办法
10万
查看次数

您对存储过程的命名约定是什么?

我已经看到了命名存储过程的各种规则.

有些人使用usp_作为sproc名称的前缀,其他人使用应用程序名称的缩写作为前缀,还有其他人使用所有者名称.您不应该在SQL Server中使用sp_,除非您真正的意思.

有些人用动词(Get,Add,Save,Remove)启动proc名称.其他人则强调实体名称.

在具有数百个sprocs的数据库中,当您认为已存在时,可能很难滚动并找到合适的sproc.命名约定可以使定位sproc更容易.

你使用命名约定吗?请描述一下,并解释为什么你喜欢它而不是其他选择.

答复摘要:

  • 每个人似乎都提倡命名的一致性,对于每个人来说,使用与使用特定命名约定相同的命名约定可能更为重要.
  • 前缀:虽然很多人使用usp_或类似的东西(但很少sp_),但许多其他人使用数据库或应用程序名称.一个聪明的DBA使用gen,rpt和tsk来区分一般的CRUD sprocs和用于报告或任务的那些.
  • 动词+名词似乎比Noun + Verb稍微受欢迎.有些人对动词使用SQL关键字(选择,插入,更新,删除),而其他人则使用非SQL动词(或缩写),如Get和Add.有些人区分单数和复数名词,以表明是否正在检索一个或多个记录.
  • 在适当的情况下,最后建议使用另一个短语.GetCustomerById,GetCustomerBySaleDate.
  • 有些人在名称段之间使用下划线,有些人则避免使用下划线.app_ Get_Customer与appGetCustomer - 我想这是一个可读性的问题.
  • 可以将大量的sprocs分隔为Oracle包或Management Studio(SQL Server)解决方案和项目,或SQL Server模式.
  • 应该避免使用不可思议的缩写.

为什么我选择我做的答案:有很多好的回答.谢谢你们!如你所见,选择一个是非常困难的.我选择的那个与我产生共鸣.我遵循他描述的相同路径 - 尝试使用Verb + Noun然后无法找到适用于Customer的所有sprocs.

能够定位现有的sproc,或确定是否存在,甚至是非常重要的.如果有人无意中创建了具有其他名称的重复sproc,则可能会出现严重问题.

由于我通常使用包含数百个sprocs的非常大的应用程序,因此我倾向于使用最容易找到的命名方法.对于较小的应用程序,我可能会提倡Verb + Noun,因为它遵循方法名称的一般编码约定.

他还提倡使用app name作为前缀,而不是使用不太有用的usp_.有几个人指出,有时数据库包含多个应用程序的sprocs.因此,使用app name前缀有助于隔离sprocs并帮助DBA和其他人确定sproc用于哪个应用程序.

sql stored-procedures naming-conventions

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