我编写了这个PHP代码来实现Flesch-Kincaid可读性分数作为函数:
function readability($text) {
$total_sentences = 1; // one full stop = two sentences => start with 1
$punctuation_marks = array('.', '?', '!', ':');
foreach ($punctuation_marks as $punctuation_mark) {
$total_sentences += substr_count($text, $punctuation_mark);
}
$total_words = str_word_count($text);
$total_syllable = 3; // assuming this value since I don't know how to count them
$score = 206.835-(1.015*$total_words/$total_sentences)-(84.6*$total_syllables/$total_words);
return $score;
}
Run Code Online (Sandbox Code Playgroud)
您有如何改进代码的建议吗?这是对的吗?它会起作用吗?
我希望你能帮助我.提前致谢!
我被KVC/KVO迷住了.超级强大.但是有一个问题.我试图成为真正的MVC道德,但我认为没有办法使用观察模式来监视Objective-C类实例的分配或释放.
这实际上很重要,因为我有一个模型具有细粒度的内部消息,我想从控制器(或委托)观察.对我来说,绊脚石是我没有看到,在模型外部,我可以删除一个即将被解除分配的子组件的观察者,而控制器不知道模型的内部逻辑会破坏封装.
有人可以为这种情况建议一种方法.
谢谢,道格
我正在研究媒体库模型,我有一个歌曲数据库(超过9,000首曲目),我想要显示并进行排序.我不确定哪种GUI控件最适合使用,我不确定如何将所有条目添加到控件中.
显然,使用列表视图并一次添加一个条目需要很长时间.目前,数据库正在返回媒体对象数组中的所有轨道(mediaEntry[]- 我定义的结构).我不太了解.NET的数据绑定系统以及可能带来的任何性能优势.
数据库也是可搜索的,因此我将根据搜索条件更改GUI控件中显示的信息.
这是默认的gnome屏保之一 - "个人幻灯片".它显示来自某个位置的图片,在图片之间暂停约10秒.任何人都知道它是如何循环和暂停的?
我正在尝试增加延迟,但是我在犹豫是否添加sleep()而不知道它是如何做的.
谢谢
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <glib.h>
#include <glib/gi18n.h>
#include <glib/gstdio.h>
#include <gtk/gtk.h>
#include "gs-theme-window.h"
#include "gs-theme-engine.h"
#include "gste-slideshow.h"
#include "xdg-user-dir-lookup.h"
int
main (int argc, char **argv)
{
GSThemeEngine *engine;
GtkWidget *window;
GError *error;
gboolean ret;
char *location = NULL;
char *background_color = NULL;
gboolean sort_images = FALSE;
gboolean no_stretch = FALSE;
GOptionEntry entries [] = {
{ "location", 0, 0, G_OPTION_ARG_STRING, &location,
N_("Location to get images from"), N_("PATH") }, …Run Code Online (Sandbox Code Playgroud) 谁知道工具/脚本/程序/从二进制java序列化对象创建java对象实例的任何人?
我没有.class文件,所以我不能(afaik)简单地创建一个ObjectInputStream并从那里加载它.
这个对象有默认的序列化机制,我正在尝试调试我们遇到的问题.
任何人?
在德尔福 2009 中:
当 TListView 的 GroupView 处于活动状态时,向 TListView 添加或插入项目总是将其添加到列表的末尾,而不管指定为参数的 Index。当 GroupView 设置为 false 时,它会将其添加到指定的索引处。但是当它为真时,这种行为是看不到的。
ListView2.Items.Insert(1)
Run Code Online (Sandbox Code Playgroud)
以上应在指定索引“1”处插入项目,但始终将其添加到列表的末尾。我在这里做错了什么?
object ListView2: TListView
Left = 32
Top = 40
Width = 161
Height = 233
BorderWidth = 5
Columns = <
item
AutoSize = True
end>
DoubleBuffered = False
FlatScrollBars = True
Groups = <
item
Header = 'test'
Footer = 'aksdlkajsd;flkj'
GroupID = 0
State = [lgsNormal]
HeaderAlign = taLeftJustify
FooterAlign = taLeftJustify
Subtitle = 'adgasdfasdf'
TopDescription = 'test desc'
BottomDescription = …Run Code Online (Sandbox Code Playgroud) 我有一个19 X 7的表,每个单元格中都有一个textBox.某些textBox只需要是只读的,具体取决于加载到它们中的数据.在保存时,我必须检查每个文本框并查看是否需要保存该值.必须手动列出133个文本框需要很长时间.我会欣喜若狂,因此我只需要处理7个文本框,让.Net重复我的努力19次.
是否有更好的方式来利用.Net?
转发器看起来很有希望,但我不知道如何引用已经重复的控件,而不是一组控件.
我有一个常规列表理解来加载列表中的文件的所有行
f = open('file')
try:
self._raw = [L.rstrip('\n') for L in f]
finally:
f.close()
Run Code Online (Sandbox Code Playgroud)
现在我想在列表中插入每行'n'次.如何在列表理解中做到这一点?
TNX
我正在编写一个框架,用于为我的雇主的项目编写不同格式的集合.其中一种输出格式是分隔文本文件(通常称为CSV - 即使CSV并不总是用逗号分隔).
我在ADO.net中通过OleDbConnection使用Microsoft.Jet.OLEDB.4.0提供程序.对于阅读这些文件,它非常快.但是,对于写作,它的速度极慢.
在一个案例中,我有一个包含160条记录的文件,每条记录有大约250个字段.创建此文件大约需要30秒,看似CPU绑定.
我做了以下工作,提供了显着的性能提升,但我想不出别的:
有什么其他建议加快一些吗?
我们可以通过PHP获取目录中的文件
$files = new DirectoryIterator()
Run Code Online (Sandbox Code Playgroud)
之后是否有一种简单的方法来按特定顺序对项目进行排序以显示它们?谢谢.