我的功能看起来像这样:
minus :: (Eq a) => [a] -> [a] -> [a]
minus [] xs = []
minus (y:ys) xs | y `notElem` xs = y : (minus ys xs)
| otherwise = minus ys xs
Run Code Online (Sandbox Code Playgroud)
它可以像这样使用:
[99,44,55,22,23423] `minus` [55,22]
Run Code Online (Sandbox Code Playgroud)
输出: [99,44,23423]
我之所以写这篇文章是因为我正在关注Project Euler问题7,并且Eratosthenes的Sieve似乎是正确的工具,而且它是,但我一直在阅读维基百科页面并得到关于Euler筛子的部分.
我试图复制/粘贴代码并在GHCi中运行它,但我的GHCi版本没有名为Data.OrdList的模块,我找不到minusHoogle中调用的函数.
这是维基百科的代码:
import Data.OrdList (minus)
primes = euler [2..]
euler (p : xs) = p : euler (xs `minus` map (*p) (p : xs))
Run Code Online (Sandbox Code Playgroud)
如果我在那里替换我的减号函数,我会得到一个内存不足的错误,因为我的函数不是懒惰的.
有没有办法做一个懒惰的减号功能?
我的减函数是否与维基百科文章中的减函数相同?
$dblocation = "localhost";
$dbname = "xx";
$dbuser = "xx";
$dbpasswd = "xx";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
mysql_select_db($dbname, $dbcnx);
mysql_query("SET NAMES utf8");
mysql_query("SET COLLATION_CONNECTION=utf8_bin");
$name = mysql_real_escape_string($name);
$about = mysql_real_escape_string($about);
mysql_query("INSERT INTO votes
(name, about, active) VALUES('".$name."', '".$about."', 1 ) ")
or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)
当$ name和$ about不是西里尔字母时,它工作得非常好.但是当它是西里尔语时 - 脚本只会添加一行空白名称和字段.做什么?
DB是UTF-8,用phpMyAdmin手动添加行与西里尔符号完美,PHP脚本是UTF-8,一切都是UTF-8.
我在画布上放了一个图像,当用户将鼠标移到图像上时,我希望获得该图像像素的RGB值.这是我写的代码:
<canvas id="myCanvas" width="200" height="200" style="border: red;border-style: dotted">
Your browser does not support the canvas element.
</canvas>
<script>
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
var destX = 0;
var destY = 0;
var imageObj = new Image();
imageObj.onload = function()
{
context.drawImage(imageObj, destX, destY);
};
imageObj.src = "zain.jpg";
canvas.onclick = function(e) {
var x = e.pageX;
var y = e.pageY;
var canvasColor = context.getImageData(x, y, 1,1); // rgba e [0,255]
var pixels = canvasColor.data;
var r = pixels[0]; …Run Code Online (Sandbox Code Playgroud) 我有一个网页,我想提示用户上传文件,但我不想显示该<input type="file"/>元素.
我有一个按钮触发文件对话框显示,但代码不等待对话返回.
当文件对话框返回时,是否有一个我可以挂钩的事件?还有其他一些我没想过的事吗?
这就是我目前所拥有的,它使用警报来阻止代码.我想要一些不那么hacky的东西.
function importValues(e)
{
var f = document.getElementById('file');
f.click();
alert('loading'); //hack to make the code wait for the user to choose a file before making the ajax call
var formdata = new FormData(jQuery('#frmImport')[0]);
jQuery.ajax({
url: 'importFile',
type: 'POST',
data: formdata,
chache: false,
contentType: false,
processData: false,
});
}
Run Code Online (Sandbox Code Playgroud) 我把它缩小到:
//aantal auto's
Row aantalAutosRow = new Row();
aantalAutosRow.RowIndex = Convert.ToUInt32((tblXML.Rows.Count) + 2);
Cell aantalAutosCell = new Cell();
aantalAutosCell.CellReference = getColumnName(1);
aantalAutosCell.CellValue = new CellValue("Hoi");
aantalAutosRow.Append(aantalAutosCell);
sheetData.Append(aantalAutosRow);
Run Code Online (Sandbox Code Playgroud)
当Excel提示修复文件(sheet.xml)时,单击"是"后生成单元格
完整课程:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
using System.IO;
using System.Xml;
using System.Data;
namespace XML_naar_Excel
{
class Excel
{
public void convertToExcel(string padXml)
{
//maak dataset en vul met ingevoerde xml
DataSet dsXML = new DataSet();
dsXML.ReadXml(padXml);
DataTable tblXML = dsXML.Tables[2];
//opslaan
string padXlsx …Run Code Online (Sandbox Code Playgroud) 我在Graham Hutton的Haskell编程的第8章中,我正在复制代码并在GHC中对其进行测试.
请参阅此处的幻灯片:http://www.cis.syr.edu/~sueo/cis352/chapter8.pdf,特别是幻灯片15
到目前为止我复制的相关代码是:
type Parser a = String -> [(a, String)]
pih_return :: a -> Parser a
pih_return v = \inp -> [(v, inp)]
failure :: Parser a
failure = \inp -> []
item :: Parser Char
item = \inp -> case inp of
[] -> []
(x:xs) -> [(x,xs)]
parse :: Parser a -> String -> [(a, String)]
parse p inp = p inp
sat :: (Char -> Bool) -> Parser Char
sat p …Run Code Online (Sandbox Code Playgroud) 有谁知道如何使用OO uno bridge api在Calc表中"全选"?
或者,找到最大使用的行和列号将起作用.
我想要做的是将格式应用于电子表格中的所有单元格.
(原因是我将工作表保存为csv,因此除非格式提供足够的小数位,否则数字不会准确保存.)
我已经设置了ListBox这样的:
<ListBox ItemsSource="{Binding Logs, Mode=OneWay}" x:Name="logListView">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=.}">
<TextBlock.InputBindings>
<KeyBinding Key="C"
Modifiers="Ctrl"
Command="Copy"/>
</TextBlock.InputBindings>
<TextBlock.CommandBindings>
<CommandBinding Command="Copy"
Executed="KeyCopyLog_Executed"
CanExecute="CopyLog_CanExecute"/>
</TextBlock.CommandBindings>
<TextBlock.ContextMenu>
<ContextMenu>
<MenuItem Command="Copy">
<MenuItem.CommandBindings>
<CommandBinding Command="Copy"
Executed="MenuCopyLog_Executed"
CanExecute="CopyLog_CanExecute"/>
</MenuItem.CommandBindings>
</MenuItem>
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
如您所见,在模板中,每个模板TextBlock都有一个允许用户复制文本的上下文菜单.这有效.
还有TextBlock一个KeyBindingto ctrl+c和a CommandBinding复制.当我按下ctrl+c方法时KeyCopyLog_Executed没有执行.我已经检查过调试器.
我应该如何绑定密钥TextBlock?
有一些问题解释了如何关闭表单字段的自动完成功能,但是我在这里有一个具体问题:
我已将 设为autocomplete="off"和<form>所有表单字段。当用户使用浏览器后退按钮从表单目标页面返回到原始页面(包含表单)时,我想防止浏览器预填充字段。表单字段使用一些不支持预填充值的 jQuery UI 小部件。用户在提交表单之前必须与表单进行交互。
这在 Firefox、Chrome、Safari 中按预期工作。但是它在 Internet Explorer 中不起作用(我测试了版本 8 和 9)。当通过浏览器的后退按钮返回页面时,IE 仍然会填写字段。
这是一个静态 HTML 页面,因此我无法执行一些后端操作,例如设置随机表单字段名称/ID。
我能做些什么?
我从流中获取一个 .xlsx 文档(使用SpreadsheetDocument.Open(stream, false)然后将其存储到 Spreadsheetdocument 字段中,以便我稍后可以维护相同的对象。
我有一个保存方法,理想情况下我应该能够将 SpreadsheetDocument 保存到流中。有,document..WorkbookPart.Workbook.Save(stream);但这只是给了我一个空文件,当我只保存第一张表时(使用document.WorkbookPart.WorksheetParts.First().Worksheet.Save(stream);该文件很混乱并且不包含相关信息。如何将电子表格文档保存到流中?