/* Prototype JavaScript framework, version 1.5.0_rc0
* (c) 2005 Sam Stephenson <sam@conio.net>
*
* Prototype is freely distributable under the terms of an MIT-style license.
* For details, see the Prototype web site: http://prototype.conio.net/
*
/*--------------------------------------------------------------------------*/
var Prototype = {
Version: '1.5.0_rc0',
ScriptFragment: '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',
emptyFunction: function() {},
K: function(x) {return x}
}
var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
var Abstract = new Object();
Object.extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}
Object.inspect = function(object) {
try {
if (object == undefined) return 'undefined';
if (object == null) return 'null';
return object.inspect ? object.inspect() : object.toString();
} catch (e) {
if (e instanceof RangeError) return '...';
throw e;
}
}
Function.prototype.bind = function() {
var __method = this, args = $A(arguments), object = args.shift();
return function() {
return __method.apply(object, args.concat($A(arguments)));
}
}
Function.prototype.bindAsEventListener = function(object) {
var __method = this;
return function(event) {
return __method.call(object, event || window.event);
}
}
Object.extend(Number.prototype, {
toColorPart: function() {
var digits = this.toString(16);
if (this < 16) return '0' + digits;
return digits;
},
succ: function() {
return this + 1;
},
times: function(iterator) {
$R(0, this, true).each(iterator);
return this;
}
});
var Try = {
these: function() {
var returnValue;
for (var i = 0; i < arguments.length; i++) {
var lambda = arguments[i];
try {
returnValue = lambda();
break;
} catch (e) {}
}
return returnValue;
}
}
/*--------------------------------------------------------------------------*/
var PeriodicalExecuter = Class.create();
PeriodicalExecuter.prototype = {
initialize: function(callback, frequency) {
this.callback = callback;
this.frequency = frequency;
this.currentlyExecuting = false;
this.registerCallback();
},
registerCallback: function() {
setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
},
onTimerEvent: function() {
if (!this.currentlyExecuting) {
try {
this.currentlyExecuting = true;
this.callback();
} finally {
this.currentlyExecuting = false;
}
}
}
}
Object.extend(String.prototype, {
gsub: function(pattern, replacement) {
var result = '', source = this, match;
replacement = arguments.callee.prepareReplacement(replacement);
while (source.length > 0) {
if (match = source.match(pattern)) {
result += source.slice(0, match.index);
result += (replacement(match) || '').toString();
source = source.slice(match.index + match[0].length);
} else {
result += source, source = '';
}
}
return result;
},
sub: function(pattern, replacement, count) {
replacement = this.gsub.prepareReplacement(replacement);
count = count === undefined ? 1 : count;
return this.gsub(pattern, function(match) {
if (--count < 0) return match[0];
return replacement(match);
});
},
scan: function(pattern, iterator) {
this.gsub(pattern, iterator);
return this;
},
truncate: function(length, truncation) {
length = length || 30;
truncation = truncation === undefined ? '...' : truncation;
return this.length > length ?
this.slice(0, length - truncation.length) + truncation : this;
},
strip: function() {
return this.replace(/^\s+/, '').replace(/\s+$/, '');
},
stripTags: function() {
return this.replace(/<\/?[^>]+>/gi, '');
},
stripScripts: function() {
return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
},
extractScripts: function() {
var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
return (this.match(matchAll) || []).map(function(scriptTag) {
return (scriptTag.match(matchOne) || ['', ''])[1];
});
},
evalScripts: function() {
return this.extractScripts().map(function(script) { return eval(script) });
},
escapeHTML: function() {
var div = document.createElement('div');
var text = document.createTextNode(this);
div.appendChild(text);
return div.innerHTML;
},
unescapeHTML: function() {
var div = document.createElement('div');
div.innerHTML = this.stripTags();
return div.childNodes[0] ? div.childNodes[0].nodeValue : '';
},
toQueryParams: function() {
var pairs = this.match(/^\??(.*)$/)[1].split('&');
return pairs.inject({}, function(params, pairString) {
var pair = pairString.split('=');
params[pair[0]] = pair[1];
return params;
});
},
toArray: function() {
return this.split('');
},
camelize: function() {
var oStringList = this.split('-');
if (oStringList.length == 1) return oStringList[0];
var camelizedString = this.indexOf('-') == 0
? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1)
: oStringList[0];
for (var i = 1, len = oStringList.length; i < len; i++) {
var s = oStringList[i];
camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
}
return camelizedString;
},
inspect: function() {
return "'" + this.replace(/\\/g, '\\\\').replace(/'/g, '\\\'') + "'";
}
});
String.prototype.gsub.prepareReplacement = function(replacement) {
if (typeof replacement == 'function') return replacement;
var template = new Template(replacement);
return function(match) { return template.evaluate(match) };
}
String.prototype.parseQuery = String.prototype.toQueryParams;
var Template = Class.create();
Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
Template.prototype = {
initialize: function(template, pattern) {
this.template = template.toString();
this.pattern = pattern || Template.Pattern;
},
evaluate: function(object) {
return this.template.gsub(this.pattern, function(match) {
var before = match[1];
if (before == '\\') return match[2];
return before + (object[match[3]] || '').toString();
});
}
}
var $break = new Object();
var $continue = new Object();
var Enumerable = {
each: function(iterator) {
var index = 0;
try {
this._each(function(value) {
try {
iterator(value, index++);
} catch (e) {
if (e != $continue) throw e;
}
});
} catch (e) {
if (e != $break) throw e;
}
},
all: function(iterator) {
var result = true;
this.each(function(value, index) {
result = result && !!(iterator || Prototype.K)(value, index);
if (!result) throw $break;
});
return result;
},
any: function(iterator) {
var result = true;
this.each(function(value, index) {
if (result = !!(iterator || Prototype.K)(value, index))
throw $break;
});
return result;
},
collect: function(iterator) {
var results = [];
this.each(function(value, index) {
results.push(iterator(value, index));
});
return results;
},
detect: function (iterator) {
var result;
this.each(function(value, index) {
if (iterator(value, index)) {
result = value;
throw $break;
}
});
return result;
},
findAll: function(iterator) {
var results = [];
this.each(function(value, index) {
if (iterator(value, index))
results.push(value);
});
return results;
},
grep: function(pattern, iterator) {
var results = [];
this.each(function(v
不错的八字排盘源码



"不错的八字排盘源码"涉及的是中国传统文化与现代编程技术的结合,主要应用于命理学领域。八字排盘,又称四柱排盘,是中国传统命理学的重要组成部分,通过分析个人出生时的年、月、日、时(即四柱),对应天干地支,来推算人的命运走向。源码则指的是实现这一功能的计算机程序代码。 提到的"不错的八字排盘源码"意味着这是一套质量较高的编程代码,能够高效、准确地进行八字排盘计算。在命理学软件开发中,这样的源码具有很高的价值,因为它不仅可以帮助开发者快速构建八字排盘工具,还可能包含优化算法和用户体验设计。 "八字排盘"进一步确认了这个压缩包内容的核心功能,即提供一个用于计算和展示八字的平台。在实际应用中,这样的系统通常会包含对天干地支的转换、五行相生相克的计算、以及十神、大运、流年等命理要素的解析。 【压缩包子文件的文件名称列表】中的文件可能是组成八字排盘系统的各个部分: 1. wnl.asp:可能代表“万年历”,用于获取日期并转换为天干地支。 2. ty.asp:可能是指“天干”功能,处理天干相关的计算和解释。 3. xk.asp:可能与“五行”有关,涉及五行属性的判定和影响分析。 4. ly.asp和ly1.asp:可能是指“流年”,处理逐年运势的计算。 5. qm.asp:可能代表“乾坤”,涉及男女阴阳概念在命理解读中的应用。 6. bzpp.asp:可能是指“八字排盘”本身,核心算法的实现。 7. mh.asp:可能与“命宫”相关,考虑命宫对命理的影响。 8. zw.asp:可能涉及“字位”,指四柱中各个干支的位置和相互关系。 9. jk.asp:可能代表“吉祥”,提供吉凶判断或化解建议。 综合来看,这个压缩包提供的源码应该是一个完整的八字排盘系统,包括了日期处理、天干地支转换、五行属性分析、流年运势计算、命理元素解释等多个功能模块。开发者可以通过这些源码学习和理解如何将命理学理论与编程技术相结合,也可以直接用于开发或改进自己的八字排盘软件,为用户提供便捷的命理解析服务。
























































































































- 1
- 2

- 粉丝: 2
- 资源: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- vue3-element-admin-Typescript资源
- cocos图片上传demo,后端代码看博客
- 计算机网络(自顶向下方法)第四版答案(中文版).pdf
- 计算机网络:Ch5 网络层 _A.pdf
- 计算机网络:chapter5 Link Layer.pdf
- 计算机网络_谢希仁第五版课后习题答案.pdf
- 计算机网络:自顶向下方方法.pdf
- PandaX-Go资源
- 计算机网络_电子工业出版社_(谢希仁第五版)课后习题.pdf
- 计算机网络7章.pdf
- 计算机网络_自顶向下方法_第四版_课后习题答案.pdf
- 计算机网络7——网络互连.pdf
- 计算机网络-2022春形考任务三-国开(s)-复习资料.pdf
- 计算机网络-08-11年计算题统计.pdf
- 计算机网络2012-2013题库.pdf
- devtoolset-gcc9-centos 离线安装包



- 1
- 2
前往页