小编AEv*_*ers的帖子

Common LISP (SBCL):从循环内返回值

前言:我目前正在学习一门显然是用 LISP 教授的浓缩课程,而且我一生中从未使用过 LISP,所以我不得不在一个周末学习语言。我提前为糟糕的代码道歉。我只是对 LISP 的语法足够熟悉,可以使代码正常工作,仅此而已。

我目前正在开发一个解决地图着色问题的程序。此代码采用一个序列,其中每个子序列的第一个元素是状态,第二个元素表示颜色。例如:'((AR) (BG) (CG) (DY) (EB) (FB)) 然后检查以确保没有状态与它所约束的状态(由约束列表定义)具有相同的颜色。我知道可能有很多更简洁更简单的方法来做到这一点,但我目前正在努力的是让我的 dolist 循环在满足 if 语句时立即返回值 T。到目前为止,我一直无法让函数简单地返回一个值,并且不得不求助于这种将变量设置为 true 并等待循环完成以使代码工作的非常丑陋/错误的方法。一世'

(setq constraint '((A (B C E)) (B (A E F)) (C (A E F)) (D (F)) (E (A B C F)) (F (B C D E))))

(defun check_constraint (f s)
    (setf ans nil)
    (dolist (state constraint)
        (if (eq (first state) f)
            (if (search (list s) (second state))
                (setf ans T) ;;where I want it to just return T
            )
        ) …
Run Code Online (Sandbox Code Playgroud)

lisp sbcl common-lisp

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

ObservableCollection 中的绑定用户控件未显示在uniformgrid 中

因此,我对 C#/XAML 相当陌生,并且一直在尝试通过重写旧项目来自学 MVVM。我遇到了一个问题,应该将用户控件添加到统一网格中。如果我自己实现用户控件,它会显示得很好,但如果我将其添加到 ObservableCollection,然后尝试将其绑定到uniformgrid,则会显示用户控件的路径,而不是实际的 UI 元素。不幸的是,我对 C# 和 MVVM 还很陌生,无法确定具体是什么问题,这使得在线搜索变得困难。

<UserControl x:Class="CMS.Views.MonthView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:CMS.Views"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
    <ItemsControl ItemsSource="{Binding Dates}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <UniformGrid IsItemsHost="True" Columns="7"/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
    </ItemsControl>
    </Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

月视图.cs

namespace CMS.Views
{
    public partial class MonthView : UserControl
    {
        public MonthView()
        {
            InitializeComponent();
            MonthViewModel monthViewModelObject = MonthViewModel.GetMonthViewModel();
            this.DataContext = monthViewModelObject;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

月视图模型

namespace CMS.ViewModels
{
    class MonthViewModel
    {
        private readonly ObservableCollection<DayViewModel> _dates = new ObservableCollection<DayViewModel>();

        public IReadOnlyCollection<DayViewModel> Dates
        { …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml mvvm

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

标签 统计

c# ×1

common-lisp ×1

lisp ×1

mvvm ×1

sbcl ×1

wpf ×1

xaml ×1