问题列表 - 第36146页

论Clojure的"第一"功能

我在Rich的视频中看到了以下关于序列http://blip.tv/file/734409的示例, 大约需要33-36分钟:

(first "abcd") => \a
Run Code Online (Sandbox Code Playgroud)

现在,他说这扩展到(有点):

(first "abcd") => (first (seq "abcd")) => (first '(\a \b \c \d))
Run Code Online (Sandbox Code Playgroud)

因此,它看起来像一个O(N)操作,因为正在创建字符串的完整副本.首先,如果a String是不可变的,那为什么要复制?(编辑:根据答案,它可能不是;只是在打印时看起来那样.)其次,假设first在Java中的其他东西上操作是可变的,比如一个整数的链表.应该first以懒惰的方式行事(例如,首先创建一个持久的序列)?将它立即评估并保存是否有意义?我认为,这将是一种破坏漂亮抽象的黑客,但能快速完成工作.当你打电话时(seq "abcd"),你不知道它将如何使用.当你打电话给firsta时seq,你知道该怎么做.可是,当你调用first"abcd",我认为执行一个hacky和快速"抓住并保存它",方法比抓住一个序列然后调用更好first.

我错过了什么吗?Rich Hickey跳过了一些步骤吗?

如果我有疑问,请告诉我.谢谢!

performance clojure

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

如何使用位移来代替整数除法?

我知道如何为2的权力做到这一点,所以这不是我的问题.

例如,如果我想使用位移而不是整数除法找到5%的数字,我将如何计算?

因此,我可以做(x*100 >> 11)而不是(x*20/19).现在这不对,但它很接近,我通过反复试验来到它.我如何确定最可能使用的精确班次?

c++ bit-manipulation integer-division

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

CSS在段落中左右浮动?

直到现在,当我有一行示例时

上一页---页面宽度---下一页

我使用了一个带有2个孩子的容器div,样式为float:left&float:right

我认为它可以从一个段落行完成,其中span可能是这样的:

<p><span class="s-left">previous</span><span class="s-right">next</span></p>
Run Code Online (Sandbox Code Playgroud)

我试过CSS:

span.s-left { text-align: left; }
span.s-right { text-align: right; }
Run Code Online (Sandbox Code Playgroud)

但那没有做到..

html css css-float

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

用Java读取MIDI文件

我正在尝试将.MID文件读入Java程序,并希望将每个音符/和弦分开,以便在某种UI上显示它们.我在Java中使用Sequencer API并没有太多运气,并且尝试直接使用MidiFileReader对我来说也不起作用.我会附上我在这里使用的代码,如果有人想看到的话:

package miditest;
import java.io.File;
import java.io.IOException;
import javax.sound.midi.InvalidMidiDataException;
import javax.sound.midi.MidiSystem;
import javax.sound.midi.MidiUnavailableException;
import javax.sound.midi.Sequence;
import javax.sound.midi.Sequencer;

public class Main {
    public static void main(String[] args) throws InvalidMidiDataException, IOException, MidiUnavailableException{
    Sequence sequence = MidiSystem.getSequence(new File("test.mid"));

    // Create a sequencer for the sequence
    Sequencer sequencer = MidiSystem.getSequencer();
    sequencer.open();
    sequencer.setSequence(sequence);

    // Start playing
    sequencer.start();
    }
}
Run Code Online (Sandbox Code Playgroud)

java audio midi javasound

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

Django Context处理器:是否可以在ContextProcessor中访问当前上下文?

有没有办法可以访问自定义上下文处理器中视图传递的当前上下文,这样我可以添加缺少的变量,如果我想要而不是覆盖现有变量?

我想要实现的目标:

我建我的网址是这样的/ city_slug /我要检查,如果城市变量在上下文中已经存在,否则我想城市添加到我的上下文(可使用存储在会话变量中最后使用的城市,否则默认一些城市,可能甚至设置会话变量以供下次使用.)

我觉得这是很常见的问题,你们怎么解决呢?

django django-urls django-context

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

Flask - 如何将Flask-WTF和Flask-SQLAlchemy结合起来编辑数据库模型?

我正在尝试为现有模型创建一个编辑页面(已保存到db).表单对象期望multidict实例填充其字段.这就是我所拥有的:

# the model - assumes Flask-SQLAlchemy
from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy(app)
class Person(db.Model):
    id   = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), unique=True)

    def __init__(self, name=name):
        self.name = name


# the form - assumes Flask-WTF ext.
from flask.ext.wtf import Form, TextField, Required, BooleanField

class PersonForm(Form):
    name = TextField('name')


## the view
@app.route('/person/edit/<id>/', methods=['GET', 'POST'])
def edit_person(id):
    person = Person.query.get(id)
    if person:
        form = PersonForm(person) #<-- raises error
        return render_template('edit_person.html', form=form)
Run Code Online (Sandbox Code Playgroud)

我可以将表单中的每个字段分配给模型的每个字段(form.data['name'] = person.name, etc...),但对于大型模型来说这似乎是多余的.我有什么捷径可走吗?

python forms sqlalchemy flask

16
推荐指数
1
解决办法
9621
查看次数

realloc是否会覆盖旧内容?

当我们通过重新分配内存时realloc(),先前的内容是否被覆盖?我正在尝试创建一个程序,每次我们输入数据时重新分配内存.

请通过realloc告诉我有关内存分配的信息,例如编译器依赖吗?

c realloc

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

分布式Erlang和CAP定理

根据CAP定理,分布式Erlang系统不可能同时提供以下三种保证:

  • 一致性(所有Erlang运行时或节点,同时查看相同的数据)
  • 可用性(节点故障不会阻止幸存者继续运行)
  • 分区容差(尽管任意消息丢失,系统仍继续运行)

分布式Erlang系统可以支持零个,一个两个保证.

使用Erlang和OTP,如何实现每个保证?大多数分布式Erlang应用程序为更高级别的A和P做出实际选择,并满足"最终一致性".似乎Erlang本身旨在支持分布式(P),容错(A),软实时,不间断的应用程序.

编程语言(Erlang),运行时系统(ERTS)和库集(OTP)是为构建分布式容错应用程序而设计的; 我如何做三个定义分布式容错应用程序的东西?

erlang distributed-system

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

识别任意日期字符串

我需要能够识别日期字符串.如果我无法区分月份和日期(例如12/12/10)并不重要,我只需要将字符串分类为日期,而不是将其转换为Date对象.所以,这实际上是一个分类而不是解析问题.

我会有一些文字,例如:

"bla bla bla bla 12 Jan 09 bla bla bla 01/04/10 bla bla bla"

我需要能够识别每个日期字符串的开始和结束边界.

我想知道是否有人知道任何可以做到这一点的java库.到目前为止,我的google-fu还没有提出任何建议.

更新:我需要能够识别出最广泛的表示日期的方法.当然,天真的解决方案可能是为每种可想到的格式编写一个if语句,但是模式识别方法,使用训练有素的模型,理想情况下是我所追求的.

java date classification

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

在python中旋转字典键

我有一个包含多个值的字典,我想保持不变,但我需要在不同的键中旋转它们.是否有内置功能或外部库可以做到这一点,或者我自己写完整个东西会更好吗?

我想要做的例子:

>>> firstdict = {'a':'a','b':'b','c':'c'}  
>>> firstdict.dorotatemethod()  
>>> firstdict  
{'a':'b','b':'c','c':'a'}  
>>>
Run Code Online (Sandbox Code Playgroud)

我不必按顺序排列,我只需要每次都将值与不同的键相关联.

python dictionary key rotation

0
推荐指数
1
解决办法
1614
查看次数